Помогите пожалуйста перевести задачу с паскаля на 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.
Answers & Comments
Verified answer
#include <iostream>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