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

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

Ответ:
#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. Пиши якщо що, код відредагую



Ось програма на мові 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;
}
Ця програма спершу вводить реальні розміри матриці та інтервал для генерації псевдовипадкових чисел. Потім вона заповнює матрицю випадковими числами в заданому інтервалі, виводить вхідні дані та матрицю, а потім міняє місцями останній рядок та перший стовпець і виводить матрицю після заміни.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili