Рост учащихся класса (16 человек) записан в одномерный массив. Записать программу,
Рост учащихся класса (16 человек) записан в одномерный массив. Записать программку, которая вычисляет наибольший рост и количество воспитанников, имеющих его.
Программку написать через процедуры: ввода, вычисления максимума, вычисления количества максимума.
2 ответа
Serzh Elbaev
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программка не работает, обновите версию!
procedure Input(var a:array of integer);
begin
a:=ReadArrInteger('Вводите через пробел рост в см:',a.Length)
end;
procedure MyMax(a:array of integer; var mr:integer);
begin
mr:=a.Max
end;
procedure KMax(a:array of integer; mx:integer; var km:integer);
begin
km:=a.Where(t-gt;t=mx).Count
end;
begin
var n:=ReadInteger('Количество учеников:');
var r:=new integer[n];
Input(r);
var maxR,kol:integer;
MyMax(r,maxR);
KMax(r,maxR,kol);
Writeln('Наибольший рост ',maxR,' имеют ',kol,' чел.')
end.
Пример
Количество учеников: 5
Вводите через пробел рост в см: 170 168 171 159 171
Максимальный рост 171 имеют 2 чел.
На самом деле, это задание - великолепный пример того, как НЕ Необходимо использовать процедуры.
Поэтому что без процедур эта же задача решается еще короче, занимает меньше памяти и прытче работает.
Ниже - текст такой программки в качестве иллюстрации написанного.
begin
var a:=ReadArrInteger('Вводите через пробел рост в см:',
ReadInteger('Количество воспитанников:'));
var maxR:=a.Max;
var kol:=a.Where(t-gt;t=maxR).Count;
Writeln('Наибольший рост ',maxR,' имеют ',kol,' чел.')
end.
Внимание! Если программка не работает, обновите версию!
procedure Input(var a:array of integer);
begin
a:=ReadArrInteger('Вводите через пробел рост в см:',a.Length)
end;
procedure MyMax(a:array of integer; var mr:integer);
begin
mr:=a.Max
end;
procedure KMax(a:array of integer; mx:integer; var km:integer);
begin
km:=a.Where(t-gt;t=mx).Count
end;
begin
var n:=ReadInteger('Количество учеников:');
var r:=new integer[n];
Input(r);
var maxR,kol:integer;
MyMax(r,maxR);
KMax(r,maxR,kol);
Writeln('Наибольший рост ',maxR,' имеют ',kol,' чел.')
end.
Пример
Количество учеников: 5
Вводите через пробел рост в см: 170 168 171 159 171
Максимальный рост 171 имеют 2 чел.
На самом деле, это задание - великолепный пример того, как НЕ Необходимо использовать процедуры.
Поэтому что без процедур эта же задача решается еще короче, занимает меньше памяти и прытче работает.
Ниже - текст такой программки в качестве иллюстрации написанного.
begin
var a:=ReadArrInteger('Вводите через пробел рост в см:',
ReadInteger('Количество воспитанников:'));
var maxR:=a.Max;
var kol:=a.Where(t-gt;t=maxR).Count;
Writeln('Наибольший рост ',maxR,' имеют ',kol,' чел.')
end.
Илюшка Пацаев
Полный текст программы на языке Си (все пояснения в коде)
includelt;stdio.hgt;
includelt;locale.hgt;
int main()
setlocale(LC_ALL, "Ru");//необходимо необыкновенно для корректного отображения российского текста в консоли
int h[16]; //инициализируем целочисленный одномерный массив с 16 элементами printf("Введите данные о росте 16 воспитанников\n");
for(int x = 0; x lt; 16; x++) //юзер вводит информацию о всех 16 воспитанниках scanf("%i\n", amp;h[x]);
int max = h[0]; //переменная для поиска максимального роста int maxcount = 0; //переменная для подсчета количества воспитанников с наибольшим ростом
for(int y = 0; y lt; 2;y++) //1-ый "виток" цикла, который проходит 2 раза. Это нужно для корректного определения количества воспитанников с наибольшим ростом
maxcount = 0;
for(int x = 0; x lt; 16; x++) //в этом блоке происходит подсчет максимального роста и количества воспитанников
if(h[x] gt; max)
max = h[x]; //рост
if(h[x] == max)
maxcount++; //кол-во
printf("Наибольший найденный рост - %i\nКоличество воспитанников с наибольшим ростом - %i\n", max,maxcount);//вывод на экран результата
return 0 ;
P.S. Приложил снимок экрана для наихорошего осознания
includelt;stdio.hgt;
includelt;locale.hgt;
int main()
setlocale(LC_ALL, "Ru");//необходимо необыкновенно для корректного отображения российского текста в консоли
int h[16]; //инициализируем целочисленный одномерный массив с 16 элементами printf("Введите данные о росте 16 воспитанников\n");
for(int x = 0; x lt; 16; x++) //юзер вводит информацию о всех 16 воспитанниках scanf("%i\n", amp;h[x]);
int max = h[0]; //переменная для поиска максимального роста int maxcount = 0; //переменная для подсчета количества воспитанников с наибольшим ростом
for(int y = 0; y lt; 2;y++) //1-ый "виток" цикла, который проходит 2 раза. Это нужно для корректного определения количества воспитанников с наибольшим ростом
maxcount = 0;
for(int x = 0; x lt; 16; x++) //в этом блоке происходит подсчет максимального роста и количества воспитанников
if(h[x] gt; max)
max = h[x]; //рост
if(h[x] == max)
maxcount++; //кол-во
printf("Наибольший найденный рост - %i\nКоличество воспитанников с наибольшим ростом - %i\n", max,maxcount);//вывод на экран результата
return 0 ;
P.S. Приложил снимок экрана для наихорошего осознания
Валерия Сутяшная
ничего не понятно. такой вариант я и сам находил
Igor Panchin
мне на паскале надобно, procedure, function, чтобы было
Нина Марандова
Ну, написали бы, что необходимо на Паскале. Сберегли бы время
Кристина Косиняева
ну в 10-11 классе на сколько я знаю не проходят программирование на языке си
Валерия Казмерова
В каждой школе по-своему. И С, С++, С, Pascal, Basic и даже КУМир. Что учитель информатики знает - то он и дает. Вот такой идиотизм.
Тамара
Ах, еще Python забыл перечислить.
Andrej Priknja
Поинтересуйтесь заданиями ЕГЭ - там на 5 языках дают задачки - размышляете, просто так?
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Облако тегов