Вопрос задан 16.07.2023 в 07:33. Предмет Информатика. Спрашивает Ибраева Настя.

Нужно написать программу на c++ по данному заданию (даю 100 баллов) Задан квадратный массив А из

N строк и N столбцов, N – нечетное число. В предложенном массиве можно выделить две диагонали. Эти диагонали очерчивают четыре треугольника с числами. Произвести замену верхнего и нижнего треугольников, правого и левого треугольников.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Левчук Максим.

#include <iostream>

using namespace std;

int main()

{

int N, N1;

cout << "kol-vo ctrok ";

cin >> N;

cout << "ko-lvo ctolbcov ";

cin >> N1;

int** mtrx = new int* [N1];

for (int i = 0; i < N; i++)

{

 mtrx[i] = new int[N1];

}

for (int i = 0; i < N; i++)

{

 for (int j = 0; j < N1; j++)

 {

  cin >> mtrx[i][j];

 }

}

cout << endl;

for (int i = 0; i < N; i++)

{

 for (int j = 0; j < N1; j++)

 {

  cout<< mtrx[i][j]<<" ";

 }

 cout << endl;

}

for (int i = 0; i <= trunc(N/2); i++)

{

 for (int j = 0; j <= trunc(N1/2); j++)

 {

  int tmp = mtrx[N - 1 - i][N1-1-j];

  mtrx[N - 1 - i][N1 - 1 - j] = mtrx[i][j];

  mtrx[i][j] = tmp;

 }  

}

cout << endl;

for (int i = 0; i < N; i++)

{

 for (int j = 0; j < N1; j++)

 {

  cout << mtrx[i][j] << " ";

 }

 cout << endl;

}

for (int i = 0; i < N; i++)

{

 delete[] mtrx[i];

}

delete [] mtrx;

   return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам с написанием программы на C++ для данного задания. Вот пример решения:

cpp
#include <iostream> const int MAX_SIZE = 100; void swapTriangles(int A[][MAX_SIZE], int N) { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { // Проверяем, находится ли элемент в одном из треугольников if (i < N/2 && j < N/2 && i + j < N/2) { // Меняем элементы между верхним и нижним треугольниками int temp = A[i][j]; A[i][j] = A[N-i-1][j]; A[N-i-1][j] = temp; } else if (i >= N/2 && j >= N/2 && i + j >= N + N/2 - 1) { // Меняем элементы между правым и левым треугольниками int temp = A[i][j]; A[i][j] = A[i][N-j-1]; A[i][N-j-1] = temp; } } } } void printArray(int A[][MAX_SIZE], int N) { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { std::cout << A[i][j] << " "; } std::cout << std::endl; } } int main() { int N; std::cout << "Введите размерность массива N (нечетное число): "; std::cin >> N; int A[MAX_SIZE][MAX_SIZE]; std::cout << "Введите элементы массива A:" << std::endl; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { std::cin >> A[i][j]; } } std::cout << "Исходный массив A:" << std::endl; printArray(A, N); swapTriangles(A, N); std::cout << "Массив A после замены треугольников:" << std::endl; printArray(A, N); return 0; }

В данной программе мы сначала вводим размерность массива N (нечетное число) и его элементы. Затем вызываем функцию swapTriangles, которая осуществляет замену треугольников в массиве. Функция printArray используется для вывода массива на экран.

Программа запрашивает ввод элементов массива построчно, разделенных пробелами. После ввода элементов выводит исходный массив и массив после замены треугольников.

Надеюсь, данное решение поможет вам. Если у вас возникнут вопросы, пожалуйста, дайте мне знать!

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос