Поделитесь своими знаниями, ответьте на вопрос:
Перевести с паскаля на c++ вот условия: дана матрица размера m × n. вывести ее элементы, расположенные в столбцах с нечетными номерами (1, 3, … вывод элементов производить по столбцам, условный оператор не использовать. вот код на паскале: var a: array[1..10, 1..10] of integer; i, j, m, n: byte; begin writeln('введите m, n: '); readln(m, n); writeln('случайная матрица порядка ', m, ' x ', n, ': '); { формируем и выводим матрицу: } randomize; { генератор псевдослучайных чисел } for i : = 1 to m do begin for j : = 1 to n do begin { случайное число с интервала [0, 49] } a[i, j] : = random(50); write(a[i, j]: 4) end; writeln end; writeln; writeln('выводим элементы в нечетных столбцах: '); j : = 1; { минимальный нечетный номер столбца } while j < = n do begin for i : = 1 to m do write(' ', a[i, j]); j : = j + 2 { увеличиваем номер столбца на 2 } end; readln end.
using namespace std;
int main() {
int m,n;
cout << "m = ";
cin >> m;
cout << "n = ";
cin >> n;
int a[m][n];
srand(time(NULL));
cout << "Случайная матрица порядка "<< m << "x" << n << ":\n";
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
a[i][j]=rand() % 50;
cout << a[i][j] << " ";
}
cout << "\n";
}
cout << "элементы в нечетных столбцах:\n";
for(int j = 0; j<n; j+=2) {
for(int i = 0; i < m; i++)
cout << a[i][j] << " ";
cout << endl;
}
}
Пример:
m = 4
n = 5
Случайная матрица порядка 4x5:
16 7 17 27 15
38 2 4 34 34
2 2 30 22 16
7 27 16 46 32
элементы в нечетных столбцах:
16 38 2 7
17 4 30 16
15 34 16 32