1

Тема: Вертикалі,горизонталі,діагоналі матриці

Цікавить наступне.
Заповнити матрицю N×N послідовними натуральними числами від 1 до N^2.
Вивести окремо всі горизонтальні,вертикальні,діагональні рядки.
Буду вдячний за пояснення/псевдокод/реалізації на будь-якій C-подібній мові.

2

Re: Вертикалі,горизонталі,діагоналі матриці

ви прікалуєтесь?

Подякували: koala1

3

Re: Вертикалі,горизонталі,діагоналі матриці

Запасаюсь попкорном.

4

Re: Вертикалі,горизонталі,діагоналі матриці

Дякую за відповіді. Завдання вирішено.

5

Re: Вертикалі,горизонталі,діагоналі матриці

int n=2,i,j; n=n*n;
int **a=new int*[n];
for(i=0;i<n;i++){
 a[i]=new int[n];
 for(j=0;j<n;j++) a[i][j]=i*j
}
cout<<"Горизонт";for(i=0;i<n;i++){ for(j=0;j<n;j++) cout<<a[i][j]<<'\t';cout<<endl;}

cout<<"Вертикаль";for(i=0;i<n;i++){ for(j=0;j<n;j++) cout<<a[j][i]<<'\t';cout<<endl;}

cout<<"\"; for(i=0;i<n;i++){ for(j=i+1;j<n;j++) cout<<a[j][j]<<'\t';cout<<endl;}
 for(i=1;i<n;i++){ for(j=0;j<i;j++) cout<<a[j][j]<<'\t';cout<<endl;}

cout<<"/"; for(i=1;i<n;i++){ for(j=n;j>n-i;j--) cout<<a[j][j]<<'\t';cout<<endl;}
 for(i=0;i<n;i++){ for(j=i;j<n-i;j++) cout<<a[j][j]<<'\t';cout<<endl;}

...

Таке (скетч) підійде?

6

Re: Вертикалі,горизонталі,діагоналі матриці

Itari написав:
int n=2,i,j; n=n*n;
int **a=new int*[n];
for(i=0;i<n;i++){
 a[i]=new int[n];
 for(j=0;j<n;j++) a[i][j]=i*j
}
cout<<"Горизонт";for(i=0;i<n;i++){ for(j=0;j<n;j++) cout<<a[i][j]<<'\t';cout<<endl;}

cout<<"Вертикаль";for(i=0;i<n;i++){ for(j=0;j<n;j++) cout<<a[j][i]<<'\t';cout<<endl;}

cout<<"\"; for(i=0;i<n;i++){ for(j=i+1;j<n;j++) cout<<a[j][j]<<'\t';cout<<endl;}
 for(i=1;i<n;i++){ for(j=0;j<i;j++) cout<<a[j][j]<<'\t';cout<<endl;}

cout<<"/"; for(i=1;i<n;i++){ for(j=n;j>n-i;j--) cout<<a[j][j]<<'\t';cout<<endl;}
 for(i=0;i<n;i++){ for(j=i;j<n-i;j++) cout<<a[j][j]<<'\t';cout<<endl;}

...

Таке (скетч) підійде?

так числа не послідовними будуть же, тре шось тіпа i*n+j, чи краще просто змінну якусь інкрементувати

Подякували: quez1

7

Re: Вертикалі,горизонталі,діагоналі матриці

FakiNyan написав:

ви прікалуєтесь?

Чим завдання здивувало, занадто легке, щоб питати тут вирішення?

8

Re: Вертикалі,горизонталі,діагоналі матриці

VTrim написав:
FakiNyan написав:

ви прікалуєтесь?

Чим завдання здивувало, занадто легке, щоб питати тут вирішення?

ну ви ж такий крутий пограміст, то я думав, шо для вас це фігня

9

Re: Вертикалі,горизонталі,діагоналі матриці

FakiNyan написав:
VTrim написав:
FakiNyan написав:

ви прікалуєтесь?

Чим завдання здивувало, занадто легке, щоб питати тут вирішення?

ну ви ж такий крутий пограміст, то я думав, шо для вас це фігня

Я ж всього навсього пхпшник:(

10

Re: Вертикалі,горизонталі,діагоналі матриці

так числа не послідовними будуть

Це скетч, написаний без перевірки.
Напиши краще.

11

Re: Вертикалі,горизонталі,діагоналі матриці

Itari написав:

так числа не послідовними будуть

Це скетч, написаний без перевірки.
Напиши краще.

мені ліньки

12

Re: Вертикалі,горизонталі,діагоналі матриці

Те, що мені потрібно було.
Може комусь знадобиться..

$N=5; //size matrix

$pl=$N+1; //for 1st diagonal
$mn=$N-1; //for 2nd diagonal

echo 'Horizontal lines'.PHP_EOL;
for($i=1; $i<=$N*$N; $i++)
echo $i % $N == 0 ? $i.PHP_EOL : $i.' ';

echo PHP_EOL.'Vertical lines'.PHP_EOL;
for($i=1; $i<=$N; $i++) {
 $vrt=$i;
  for($j=1; $j<=$N; $j++) {
  echo $j == $N ? $vrt.PHP_EOL : $vrt.' ';
  $vrt+=$N;
}
}

echo PHP_EOL.'First diagonal'.PHP_EOL;
$frt=1;
for($i=1; $i<=$N; $i++) {
 echo $frt.' ';
 $frt+=$pl;
}

echo PHP_EOL.'Second diagonal'.PHP_EOL;
$scn=$N;
for($i=1; $i<=$N; $i++) {
 echo $scn.' ';
 $scn+=$mn;
}

Результат: http://ideone.com/2ABhLr

13

Re: Вертикалі,горизонталі,діагоналі матриці

VTrim написав:

Те, що мені потрібно було.
Може комусь знадобиться..
Результат: http://ideone.com/2ABhLr

Ви ж збиралися робити на Сі(++) мові

14

Re: Вертикалі,горизонталі,діагоналі матриці

КиївОболонь написав:
VTrim написав:

Те, що мені потрібно було.
Може комусь знадобиться..
Результат: http://ideone.com/2ABhLr

Ви ж збиралися робити на Сі(++) мові

C-подібні це не тільки C/C++
В тому числі і PHP, для якого і потрібен був алгоритм.

15

Re: Вертикалі,горизонталі,діагоналі матриці

VTrim написав:
КиївОболонь написав:
VTrim написав:

Те, що мені потрібно було.
Може комусь знадобиться..
Результат: http://ideone.com/2ABhLr

Ви ж збиралися робити на Сі(++) мові

C-подібні це не тільки C/C++
В тому числі і PHP, для якого і потрібен був алгоритм.

Треба було в дужках написати,що PHP
Бо вираз С-подібні асоціюється в першу чергу з С/С++