Другие языки программирования и технологии

Нужна помощь в C++

Помогите написать 3 программмы на C++ на задачи двумерными массивами 1. Дана матрица размера M x N. Вывести ее элементы, расположенные в строках с четными номерами (2, 4, …). Вывод элементов производить по строкам, условный оператор не использовать 2. Дана квадратная матрица A порядка M. Найти среднее арифметическое элементов каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1) 3. Дана матрица размера M x N. Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы (при этом поменяются местами строки с номерами 1 и M, 2 и M – 1 и т. д.)
void main()
{
setlocale(LC_ALL,"russian_russia"); //подвязка русского языка
srand(time(NULL));
const int N=10, M=20;
int mas[ N ][ M ];
int x,i,j;
int sum;

for(i = 0; i < N; i++) for(j = 0; j < M; j++) mas[ i ][ j ] = rand() % 10;

//1. Дана матрица размера M? N. Вывести ее элементы, расположенные в строках с четными номерами (2, 4, …). Вывод элементов производить по строкам, условный оператор не использовать
for(i = 0; i < N; i++) { cout << endl; for(j = 0; j < M; j++) cout << mas[ i ][ j ] << " " ;}
cout << endl;
for(i = 0; i < N; i+=2) { cout << endl; for(j = 0; j < M; j++) cout << mas[ i ][ j ] << " " ;}
cout << endl << "=========================" << endl;

//2. Дана квадратная матрица A порядка M. Найти среднее арифметическое элементов каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1)
for(i = 0; i < N; i++) { cout << endl; for(j = 0; j < N; j++) cout << mas[ i ][ j ] << " " ;}
cout << endl;
for(x = 0; x < N; x++)
{
sum = 0;
cout << "Члены диагонали: ";
for(i = x, j = 0; j < x+1; j++, i--) {cout << mas[ i ][ j ] << " " ; sum +=mas[ i ][ j ];}
cout << "\t сумма диагонали " << x+1 << " равна " << sum << endl;
}
for(x = 1; x < N; x++)
{
sum = 0;
cout << "Члены диагонали: ";
for(i = N-1, j = x; j < N; j++, i--) {cout << mas[ i ][ j ] << " " ; sum +=mas[ i ][ j ];}
cout << "\t сумма диагонали " << x+N << " равна " << sum << endl;
}
cout << endl << "=========================" << endl;

//3. Дана матрица размера M x N. Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы (при этом поменяются местами строки с номерами 1 и M, 2 и M – 1 и т. д. )
for(i = 0; i < N; i++) { cout << endl; for(j = 0; j < M; j++) cout << mas[ i ][ j ] << " " ;}
for(i = 0, x = N-1; i < N/2; i++, x--) for(j = 0; j < M; j++) {sum = mas[ i ][ j ]; mas[ i ][ j ] = mas[ x ][ j ]; mas[ x ][ j ] = sum;}
cout << endl;
for(i = 0; i < N; i++) { cout << endl; for(j = 0; j < M; j++) cout << mas[ i ][ j ] << " " ;}
system("pause");
}
Рома Воинов
Рома Воинов
5 383
Лучший ответ
1)
// проходим по четным строкам
for (int y = 0; y < N; y += 2)
{
// дальше сама сообразишь

}
600 рублей, пиши на почту
Сержан Батинов
Сержан Батинов
15 097
могу помочь за небольшое вознаграждение.