Побудувати математичну модель задач.
Задача 1. Іван Петрович у нових штанах сів на щойно пофарбовану табуретку. На його штанах з'явилась квадратна пляма з довжиною сторони a см. Виявилось, що в хімчистку беруть одяг, плями на якому не більші n см2. Визначити, чи вдалось Іванові Петровичу врятувати свої штани?
Задача 2. На одному маленькому квадратному безлюдному острові зі стороною a метрів перебували k Робінзонів. Чи не порушені їх права на житло, якщо на кожного Робінзона повинно припадати n м2 площі острова?
#include <iostream>
#include <time.h>
#include <stdio.h>
using namespace std;
int main()
{
srand(time(NULL));
int mas[100][100] = {};
int side;
cout << "Введите размер стороны квадратной матрицы: ";
cin >> side;
for (int i = 0; i < side; i++)
{
for (int j = 0; j < side; j++)
{
mas[i][j] = 10 + rand() % (99 - 10 + 1);
cout << mas[i][j] << " ";
}
cout << endl;
}
int max = mas[0][0];
int max_ind_i = 0;
int max_ind_j = 0;
int min = mas[0][0];
int min_ind_i = 0;
int min_ind_j = 0;
for (int i = 0; i < side; i++)
{
for (int j = 0; j < side; j++)
{
if (max < mas[i][j])
{
max = mas[i][j];
max_ind_i = i;
max_ind_j = j;
}
if (min > mas[i][j])
{
min = mas[i][j];
min_ind_i = i;
min_ind_j = j;
}
}
}
cout << "Максимум: " << max << " \nИндексы: " << max_ind_i << " " << max_ind_j << "\nМинимум: " << min << " \nИндексы: " << min_ind_i << " " << min_ind_j;
}
Объяснение:
Максимальный размер массива - 100 на 100
#include <iostream> // Библиотека ввода - вывода
#include <time.h> // Библиотека для работы со временем
#include <stdio.h> // Библиотека, содержащая функцию рандома
using namespace std; // Пространство имён
int main()
{
srand(time(NULL)); // При каждом запуске программы будут новые псевдослучайные числа
int mas[100][100] = {}; // Двумерный массив 100 на 100, заполненный нулями
int side; // Переменная, хранящая сторону квадратной матрицы
cout << "Введите размер стороны квадратной матрицы: "; // Вывод сообщения в консоль
cin >> side; // Вводим сторону матрицы с клавиатуры
for (int i = 0; i < side; i++) // Цикл для заполнения и вывода массива
{
for (int j = 0; j < side; j++) // Цикл для заполнения и вывода массива
{
mas[i][j] = 10 + rand() % (99 - 10 + 1); // Заполнение двумерного массива псевдослучайными числами в диапазоне [10, 99]
Формула: a + rand() % ( b - a + 1)
cout << mas[i][j] << " "; // Выводим элемент массива
}
cout << endl; // Переносим на следующую строку (для красивого вывода)
}
int max = mas[0][0]; // Максимум = первому элементу массива
int max_ind_i = 0; // Индекс max i = 0
int max_ind_j = 0; // Индекс max j = 0
int min = mas[0][0]; // Минимум = первому элементу массива
int min_ind_i = 0; // Индекс min i = 0
int min_ind_j = 0; // Индекс min j = 0
for (int i = 0; i < side; i++) // Цикл для прохода по всем элементам массива
{
for (int j = 0; j < side; j++) // Цикл для прохода по всем элементам массива
{
if (max < mas[i][j]) // Ищем максимум в массиве
{
max = mas[i][j]; // Присваиваем переменной max значение, которое оказалось больше ее
max_ind_i = i; // Запоминаем индекс
max_ind_j = j; // Запоминаем индекс
}
if (min > mas[i][j]) // Ищем минимум в массиве
{
min = mas[i][j]; // Присваиваем переменной min значение, которое оказалось меньше ее
min_ind_i = i; // Запоминаем индекс
min_ind_j = j; // Запоминаем индекс
}
}
}
cout << "Максимум: " << max << " \nИндексы: " << max_ind_i << " " << max_ind_j << "\nМинимум: " << min << " \nИндексы: " << min_ind_i << " " << min_ind_j; // Выводим ответ
}
C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int N = 0;
double mult = 1.0;
srand(time(NULL));
cout << "VVedite N =";
cin >> N;
int *mas = new int[N];
for(int i = 0; i < N; i++)
{
mas[i] = rand() % N;
cout << "mas[" << i << "]= " <<mas[i] << endl;
if(mas[i] % 2 != 0)
{
mult*=mas[i];
}
}
delete []mas;
cout << endl;
cout << "MULT = " << mult << endl;
return 0;
}
Объяснение:
честно я не очень в этом шарю так что проверь )