#include<iostream>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
void show_msg(int* arr, int size, int max_line)
{
int ts = 0x00;
for(int index = 0x00; index < max_line; index++)
{
int tmp = max_line;
for(int ls = 0x00; ls < max_line-index; ls++)
std::cout<<arr[ts++]<<" ";
std::cout<<std::endl;
}
}
int get_val(int& start, int stop)
{
int ret = start;
if(start < stop)
start++;
else
start = 0x01;
return ret;
}
int main()
{
int start = 0x00;
int stop = 0x00;
int line = 0x00;
std::cin>> start;
std::cin>> stop;
std::cin>> line;
std::cout<<start<<" "<<stop<<" "<<line<<std::endl;
int size = (line *(line+1))/2;
int* arr = new int[size];
memset(arr, 0x00, size * sizeof(int));
int g_dx = 0x00;
for(int index = 0x00; index < line; index++)
{
int ts = index;
int adds = line;
for(int tmp = index; tmp < line;)
{
if(tmp != index)
ts += adds--;
int val = get_val(start,stop);
arr[ts] = val;
std::cout<<val<<" ";
tmp++;
}
}
std::cout<<std::endl;
show_msg(arr,size,line);
delete [] arr;
return 0x00;
}
输出结果如下:
你懂的
二维数组也可以打印,但浪费空间
不过二维数组来求解,很简单