#include <iostream>
#include <iomanip>
#include <stdio.h>
using namespace std;
//функция вывода массива в консоль
void printArray (int arr[][4], int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << setw(5) << arr[i][j];
}
cout << endl;
} cout << endl;
}
//функция замены всех отрицательных элементов нулями
void taskOne (int arr[][4], int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (arr[i][j] < 0) arr[i][j] = 0;
}
}
}
//функция нахождения суммы парных элементов
void taskTwo (int arr[][4], int n) {
int sum = 0;
cout << "Сумма парных чисел (";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (arr[i][j] % 2 == 0 && arr[i][j] != 0) {
if(sum!=0) cout << ", "; //для красоты вывода)
cout << arr[i][j];
sum = sum + arr[i][j];
}
}
}
cout << ") = " << sum << endl << endl;
}
//функция нахождения среднего арифметическое мин и макс
void taskThree (int arr[][4], int n) {
int max = arr[0][0];
int min = arr[0][0];
for (int i = 0; i < n; i++) {
for (int j = 1; j < n; j++) {
// Понятное дело что минимальное число в массиве 0, но может имеется
// ввиду минимальное кроме 0. Если нет то проверку на ноль
// можно убрать arr[i][j] != 0
if (arr[i][j] != 0 && arr[i][j] < min) min = arr[i][j];
if (arr[i][j] > max) max = arr[i][j];
}
}
float result = float(max+min)/(n*n);
cout << "max = " << max << ", min = " << min <<endl;
cout << "Среднее арифметическое = " << result << endl <<endl;
}
int main() {
const int n = 4; //размер массива
int arr[n][n]; //объявляем двумерный массив размером 4 на 4
// Многомерный массив заполняется значениями с вложенных циклов.
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = rand() % 81 + (-40); // генерируем случайное число от -40 до 40
// rand() % N; возвращает число от 0 до N-1
// Если сгенерируется число 80 то отнимая 40 получим нужный максимум
// а если 0 - то -40, тоесть нужный нам минимум
}
}
// Выводим массив в консоль.
cout << "Сгенерированный массив 4 на 4" << endl << endl;
printArray(arr, n);
// №1 - Заменяем все отрицательные элементы нулями.
cout << "Задание №1" << endl << endl;
taskOne(arr, n);
printArray(arr, n);
// №2 - Заменяем все отрицательные элементы нулями.
cout << "Задание №2" << endl << endl;
taskTwo(arr, n);
// №3 - Заменяем все отрицательные элементы нулями.
cout << "Задание №3" << endl << endl;
taskThree(arr, n);
return 0;
}
На скриншоте вывод программы
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу анимации в паскале. Круг перекатывающийся с окна в окно не подойдет Светофор и солнечная система тоже
1-ый
uses graphabc,crt;
var i:integer; h:real;
begin
randomize;
rectangle(280,130,320,320);
rectangle(250,10,350,260);
circle(300,55,35);
circle(300,135,35);
circle(300,215,35);
for i:=1 to 1000 do
begin
floodfill(300,55,clred);
delay(3000);
floodfill(300,55,clwhite);
delay(1000);
floodfill(300,135,clyellow);
delay(3000);
floodfill(300,135,clwhite);
delay(1000);
floodfill(300,215,clgreen);
delay(1000);
floodfill(300,215,clwhite);
delay(1000);
end;
end.
2-ой
Program Svetofor;
Uses crt;
var c:1..3;
begin clrscr;
randomize;
writeln('переход по сигналу светофора');
c:=random (3)+1;
gotoxy(35,11);
case c of
1:begin textcolor (red); writeln ('красный-стой!');end;
2:begin textcolor (yellow); writeln('желтый-приготовься!');end;
3:begin textcolor (green); writeln('зеленый-иди!');end;
end;
sleep(3000);
until keypressed;
End.