Вопрос задан 24.06.2023 в 05:40. Предмет Информатика. Спрашивает Кньовець Женя.

Розробити програму, дотримаючись таких вимог: використо- вувати статичні масиви; максимальні

розміри масиву (N i M) – статичні константи; реальні розміри масиву n i m (n<N, m<M) – ввести з клаві- атури (при цьому здійснювати перевірку правильності введення даних); елементи масиву – псевдовипадкові числа, згенеровані на інтервалі [a, b], де a і b (a<b) вводяться з клавіатури; усі вхідні дані і також елементи масиву виводити на екран. 13 Реалізувати програму, яка міняє місцями останній рядок і перший стовпець квадратної матриці.​ Писати на мові C++​
0 0
Перейти к ответам

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

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

Ответ:

#include <iostream>

#include <ctime>

#include <string>

using namespace std;

int main()

{

srand(time(NULL));

const int N = 5, M = 5; // Константні розміри матриці

if (N != M) // Перевірка на не квадратну матрицю

{

 cout << "n should be equal to m" << endl;

 return 0;

}

int a, b; // Межі випадкових чисел масиву

cout << "Enter a: ";

cin >> a;

cout << "Enter b: ";

cin >> b;

int Width = max(to_string(a).length(), to_string(b).length()) + 1; // Ширина для cout

int arr[N][M]; // Статичний масив

int result[N][M]; // Статичний масив (результат)

cout << "n = " << N << endl

 << "m = " << M << endl

 << "Interval - [" << a << ";" << b << "]" << endl << endl

 << "Our matrix: " << endl;

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

{

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

 {

  arr[i][j] = a + rand() % (b - a + 1);

  cout.width(Width); // Щоб було красиво

  cout << arr[i][j];

 }

 cout << endl;

}

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

{

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

 {

  if (j == 0 && i != N - 1)

  {

   result[N - 1][i + 1] = arr[i][j];

  }

  else if (i == N - 1 && j != 0)

  {

   result[j - 1][0] = arr[i][j];

  }

  else

  {

   result[i][j] = arr[i][j];

  }

 }

}

cout << endl << "Result matrix:" << endl;

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

{

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

 {

  cout.width(Width); // Щоб було красиво

  cout << result[i][j];

 }

 cout << endl;

}

}

Объяснение:

ПС ти з клавіатури не можеш вводити розмір масиву, який заданий статично.(а в умові задачі сказано про статичний масив) Для цього треба створювати динамічний масив. Тож змінити розмір масиву можна змінивши в коді константи N та M. Пиши якщо що, код відредагую

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

Ось програма на мові C++, яка виконує зазначені вимоги та міняє місцями останній рядок і перший стовпець квадратної матриці:

cpp
#include <iostream> #include <cstdlib> #include <ctime> const int N = 10; // Максимальний розмір матриці (рядків) const int M = 10; // Максимальний розмір матриці (стовпців) int main() { int n, m; // Реальні розміри матриці int a, b; // Інтервал для генерації псевдовипадкових чисел int matrix[N][M]; // Статичний масив для матриці // Введення реальних розмірів матриці та інтервалу do { std::cout << "Введіть кількість рядків (n < " << N << "): "; std::cin >> n; } while (n <= 0 || n >= N); do { std::cout << "Введіть кількість стовпців (m < " << M << "): "; std::cin >> m; } while (m <= 0 || m >= M); std::cout << "Введіть інтервал для генерації чисел (a < b): "; std::cin >> a >> b; // Заповнення матриці псевдовипадковими числами std::srand(static_cast<unsigned>(std::time(nullptr))); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { matrix[i][j] = std::rand() % (b - a + 1) + a; } } // Виведення вхідних даних та матриці std::cout << "Реальний розмір матриці: " << n << " x " << m << std::endl; std::cout << "Інтервал для генерації чисел: [" << a << ", " << b << "]" << std::endl; std::cout << "Елементи матриці:" << std::endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { std::cout << matrix[i][j] << " "; } std::cout << std::endl; } // Міняємо місцями останній рядок та перший стовпець if (n > 0 && m > 0) { for (int i = 0; i < n; i++) { int temp = matrix[i][0]; matrix[i][0] = matrix[n - 1][i]; matrix[n - 1][i] = temp; } std::cout << "Матриця після заміни останнього рядка та першого стовпця:" << std::endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { std::cout << matrix[i][j] << " "; } std::cout << std::endl; } } return 0; }

Ця програма спершу вводить реальні розміри матриці та інтервал для генерації псевдовипадкових чисел. Потім вона заповнює матрицю випадковими числами в заданому інтервалі, виводить вхідні дані та матрицю, а потім міняє місцями останній рядок та перший стовпець і виводить матрицю після заміни.

0 0

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

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

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

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