1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
pow() некорректно работает если используется инкремент или декремент в его параметрах. Задание: Совершая обход так: 1 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16 заполнить матрицу а такими значениями: b11b12...bnn
Kod(Показать/Скрыть)
#include <cmath>#include <iostream>#include <windows.h>usingnamespacestd;
main()
{
int M, N;
cout << "Insert N: ";
cin >> N;
int b[N];
cout << "Insert b[i]: ";
for (int i = 0; i < N; i++)
cin >> b[i];
int a[M = N][N];
int i = 0, j = 0, k = 0;
while (i < M || j != N - 1)
{
while (i < M && 0 <= j) a[i++][j--] = pow(b[k++ / N], k % N + 1);
if (i == M){i--; j++;}
while (0 <= i && j < N - 1) a[i--][++j] = pow(b[k++ / N], k % N + 1);
i++;
if (j == N - 1) i++;
else j++;
}
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
cout.width(4);
cout << a[i][j];
}
cout << endl;
}
system("pause");
}
В таком исполнении pow(b[k++ / N], k % N + 1); работает так как надо (еще недавно и так не работал, но теперь почему-то работает):