Учащийся записал 3 числа. найти на сколько самое большое число отличается от самого маленького числа. исходные данные: x, y, z - записанные числа. каждое число это натуральное число из промежутка(1; ). исходные данные : целое число - разница между максимальным и минимальным числом.
пример:
данные результат: 14,910,85
6 11 20
900 90 1000
45 90 5
var
a: array [1..16] of integer; //Массив из 16 целых чисел
i: integer;
b: boolean; {Логическая переменная (найдено ли хотя бы одно число, кратное трем)}
begin
b:= false; //Ни одного числа, кратного трем еще не найдено
write('Исходный массив: ');
for i:= 1 to 16 do {Заполняем исходный массив случайными числами от - 20 до 20 и распечатываем его}
begin
a[i]:= random(40) - 20;
write(a[i], ' ');
end;
writeln;
for i:= 1 to 16 do //Определяем, есть ли в массиве хотя бы одно число, кратно трём, и если есть, то выходим из цикла
if (a[i] mod 3 = 0) and (a[i] <> 0) then
begin
writeln('В массиве есть хотя бы одно число, кратное трём');
b:= true;
break;
end;
if b = false then writeln('В массиве нет ни одного числа, кратного трём');
end.
Если все правильно, отметь решение как лучшее)
#include <iostream>
#include <stdlib.h>
#include <string>
#include <conio.h>
#include <cstdlib>
using namespace std;
struct COMPUTER
{
string Procesor;
long int Ram;
struct HDD
{
string Namt;
long int V_Ram;
long int V;
}hd;
string Monitor;
string Keyboard;
string Mouse;
void print()
{
cout << "Processor: " << Procesor << "\nRAM: " << Ram << "\nHDD/NamT: " << hd.Namt << "\nHDD/V_Ram: " << hd.V_Ram << "\nHDD/V: " << hd.V << "\nMonitor: " << Monitor << "\nKeyboard: " << Keyboard << "\nMouse: " << Mouse << "\n\n";
}
};
int main()
{
setlocale(LC_ALL, "ru");
int k = 1;
int tk;
cout << "Введите кол-во компьютеров: ";
cin >> tk;
COMPUTER* pc = new COMPUTER[tk];
for (int i = 0; i < tk; i++)
{
cout << "Заполнение " << i << " компьютера" <<endl;
cout << "Введите Procesor: ";
cin >> pc[i].Procesor;
cout << "Введите Ram: ";
cin >> pc[i].Ram;
cout << "Введите HDD/Namt: ";
cin >> pc[i].hd.Namt;
cout << "Введите HDD/V_Ram: ";
cin >> pc[i].hd.V_Ram;
cout << "Введите HDD/V: ";
cin >> pc[i].hd.V;
cout << "Введите Monitor: ";
cin >> pc[i].Monitor;
cout << "Введите Keyboard: ";
cin >> pc[i].Keyboard;
cout << "Введите Mouse : ";
cin >> pc[i].Mouse;
system("cls");
}
int tab = 0;
bool bMENU = true;
char ch_key;
while (bMENU)
{
if (tab == 0)
{
cout << "1 - Выводит на экран всех компьютеры с введенным процессором" << endl;
cout << "2 - Упорядочивает записи по росту поля V_ram" << endl;
cout << "ESC - Выход" << endl;
switch ((ch_key = _getch()))
{
case '1':
tab = 1;
break;
case '2':
tab = 2;
break;
case 27:
bMENU = false;
cout << "Выход из программы\n";
break;
default:
cout << "Нажата неподдерживаемая клавиша\n";
break;
}
}
if (tab == 1)
{
system("cls");
string proc;
cout << "Введите процессор: ";
cin >> proc;
for (int i = 0; i < tk; i++)
{
if (pc[i].Procesor == proc)
{
pc[i].print();
}
}
cout << "0 - Вернуться в меню" << endl;
cout << "ESC - Выход" << endl;
switch ((ch_key = _getch()))
{
case '0':
tab = 0;
break;
case 27:
bMENU = false;
cout << "Выход из программы\n";
break;
default:
cout << "Нажата неподдерживаемая клавиша\n";
break;
}
system("cls");
}
if (tab == 2)
{
struct COMPUTER tmp;
system("cls");
for (int i = 0; i < tk; i++) {
for (int j = i + 1; j < tk; j++) {
if (pc[i].hd.V_Ram > pc[j].hd.V_Ram) {
tmp = pc[j - 1];
pc[j - 1] = pc[j];
pc[j] = tmp; ;
}
}
}
for (int i = 0; i < tk; i++)
{
pc[i].print();
}
cout << "0 - Вернуться в меню" << endl;
cout << "ESC - Выход" << endl;
switch ((ch_key = _getch()))
{
case '0':
tab = 0;
break;
case 27:
bMENU = false;
cout << "Выход из программы\n";
break;
default:
cout << "Нажата неподдерживаемая клавиша\n";
break;
}
system("cls");
}
}
system("pause");
return 0;
}