Другие языки программирования и технологии
Нужна помощь в 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");
}
{
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");
}
1)
// проходим по четным строкам
for (int y = 0; y < N; y += 2)
{
// дальше сама сообразишь
}
// проходим по четным строкам
for (int y = 0; y < N; y += 2)
{
// дальше сама сообразишь
}
600 рублей, пиши на почту
могу помочь за небольшое вознаграждение.
Похожие вопросы
- Программисты нужна помощь в c++!
- Нужна помощь в C#
- ОЧЕНЬ СРОЧНО НУЖНА ПОМОЩЬ В C++ БУДУ ОЧЕНЬ БЛАГОДАРЕН !!!
- Нужна помощь по C++.
- Программка c# нужна помощь
- (C++) Нужна помощь в создании метода "пузырька".
- c++ нужна помощь
- C++ Нужна Помощь
- Язык Arduino(C, C++) Нужна помощь: в изучении arduino встретил знак "&" помогите, пожалуйста, что он означает!
- Вывести название массива с помощью char, C++