• Рост учащихся класса (16 человек) записан в одномерный массив. Записать программу, которая вычисляет максимальный рост и количество учеников, имеющих его.
    Программу написать через процедуры: ввода, вычисления максимума, вычисления количества максимума.

Ответы 7

  • Ну, написали бы, что необходимо на Паскале. Сэкономили бы время
  • ну в 10-11 классе на сколько я знаю не проходят программирование на языке си
    • Автор:

      jaden
    • 6 лет назад
    • 0
  • В каждой школе по-своему. И С, С++, С#, Pascal, Basic и даже КУМир. Что учитель информатики знает - то он и дает. Вот такой идиотизм.
    • Автор:

      aiden98
    • 6 лет назад
    • 0
  • Ах, еще Python забыл перечислить.
    • Автор:

      rogers
    • 6 лет назад
    • 0
  • Поинтересуйтесь заданиями ЕГЭ - там на 5 языках дают задачи - думаете, просто так?
  • Полный текст программы на языке Си (все пояснения в коде)#include<stdio.h>#include<locale.h>int main() { setlocale(LC_ALL, "Ru");//необходимо исключительно для корректного отображения русского текста в консоли int h[16]; //инициализируем целочисленный одномерный массив с 16 элементами printf("Введите данные о росте 16 учеников"); for(int x = 0; x < 16; x++){ //пользователь вводит информацию о всех 16 учениках scanf("%i", &h[x]); } int max = h[0];  //переменная для поиска максимального роста int maxcount = 0; //переменная для подсчета количества учеников с максимальным ростом for(int y = 0; y < 2;y++){ //первый "виток" цикла, который проходит 2 раза. Это нужно для корректного определения количества учеников с максимальным ростом  maxcount = 0; for(int x = 0; x < 16; x++){ //в этом блоке происходит подсчет максимального роста и количества учеников if(h[x] > max){ max = h[x];  //рост } if(h[x] == max){ maxcount++;      //кол-во } } } printf("Максимальный найденный рост - %iКоличество учеников с максимальным ростом - %i", max,maxcount);//вывод на экран результата return 0 ;}P.S. Приложил скриншот для лучшего понимания
    answer img
    • Автор:

      jakayla
    • 6 лет назад
    • 0
  • 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.Maxend;procedure KMax(a:array of integer; mx:integer; var km:integer);begin  km:=a.Where(t->t=mx).Countend;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->t=maxR).Count;  Writeln('Максимальный рост ',maxR,' имеют ',kol,' чел.')end.
    answer img
    • Автор:

      vava26s1
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years