Witam, dostałem zadanie domowe którego nie jestem w stanie wykonać:
Napisz progra, który utworzy i wypisze tablicę według poniższego modelu.
Wymiary tablic podaje użytkownik programu.
Elementami tablicy są liczby całkowite.
Liczby w kolejnych polach tablicy odwzorowują kolejność odwiedzenia pół tej tablicy ( trasę wędrówki po polach tablicy).
1 2 6 7 14 15 22
3 5 8 13 16 21 23
4 9 12 17 20 24 27
10 11 18 19 25 26 28
Kod jest użytkownika Gray, zmodyfikowałem go na własne potrzeby bo bym zbyt skomplikowany jednak dalej nie wszystko rozumiem:
#include <iostream>
using namespace std;
int main()
{
int t[101][51];
int i = 0, j = 0, k = 2, x,y;
int dir = 1;
do
{
cout<<"Podaj liczbe wierszy: ";
cin>>x;
} while( (x<1) || (x>100) );
do
{
cout<<"Podaj liczbe kolumn: ";
cin>>y;
} while ( (y<1) || (y>50) );
t[0][0] = 1;
while (k <= x*y)
if (dir == 1) // z gory na dol
{
if(j+1<y)
{
j=j+1;
}
else
{
i=i+1;
}
while ( (i < x) && (j >= 0))
t[i++][j--] = k++;
i--;
j++;
dir = 2;
}
else // z dolu do gory
{
if(i+1<x)
{
i=i+1;
}
else
{
j=j+1;
}
while (i >= 0 && j < y)
t[i--][j++] = k++;
i++;
j--;
dir = 1;
}
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
cout<<t[i][j]<<" ";
cout<<endl;
}
system("pause");
return 0;
}
t[i++][j--] = k++; - O co chodzi w tej linijce, jak to uprościć? Próbowałem na milion sposobów, ale nie potrafię - Pomocy !