Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 14.11.2016
Сообщений: 1

По данной информации определить самых уникальных учеников и самых средних

14.11.2016, 09:22. Показов 1896. Ответов 1

Студворк — интернет-сервис помощи студентам
Доброго времени суток)Пожалуйста,помогите написать программу к задаче:

Имеется информация об учениках некоторого класса из n человек: фамилия, имя, возраст в годах, рост в см., успеваемость – округленный средний балл. Ученик называется среднестатистическим по k –му параметру (уникальным по k параметру), если на нем достигается минимум (максимум) модуля разности среднего арифметического чисел из k –го столбца и значения k –го параметра этого ученика. Ученик называется самым уникальным(самым средним), если он уникален (является среднестатистическим) по самому большому количеству параметров, определить учеников:
а) самых уникальных;
б) самых средних;
в) самых средних среди самых уникальных;
г) самых уникальных среди самых средних.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2016, 09:22
Ответы с готовыми решениями:

Определить, можно ли сформировать баскетбольную команду из самых высоких учеников
В массиве хранятся данные о росте учеников школы. Определить, можно ли сформировать баскетбольную команду (не менее 5 человек) из самых...

Определить два самых теплых и два самых холодных дня в месяце
Требуется написать программу на Pascal ABC.NET С клавиатуры вводятся среднесуточные значения температуры за последний месяц. Определить...

Найти сумму 5 самых больших и 5 самых маленьких элементов списка
Две список целых чисел, состоящий из 30 элементов.Найти сумму 5 самых больших и 5 самых маленьких элементов списка

1
CAPITAL OF ROCK!
 Аватар для JokeR.BY
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
14.11.2016, 17:33
Лучший ответ Сообщение было отмечено msbrightside как решение

Решение

с кодом чутка перемудрил, но вроде работает...
Pascal
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
type
    TSchoolboy = record
        surname, name: String[20];
        age, height: Byte;
        avr: Real;
    end;
    TSchoolboyArray = Array[1..255] Of TSchoolboy;
procedure SortArray(var ar: TSchoolboyArray; const a, b: Byte);
var
    i, j: Byte;
    avr: Real;
procedure Swap(var x, y: TSchoolboy);
var
    z: TSchoolboy;
begin
    z := x;
    x := y;
    y := z;
end;
begin
    avr := 0;
    for i := a to b do
        avr := avr + ar[i].avr;
    avr := avr / (b - a + 1);
    for i := a to b - 1 do
        for j := a to b - 1 - i do
            if (Abs(ar[j].avr - avr) > Abs(ar[j + 1].avr - avr))
            then
                Swap(ar[j], ar[j + 1]);
end;
var
    ar: TSchoolboyArray;
    len, i, j: Byte;
begin
    repeat
        Write('Сколько учеников? (достаточно большое для репрезентативности алгоритма)');
        ReadLn(len);
    until (len >= 12); //позже массив делится на трети - треть в уникальные, треть в средние, треть отбрасывается
    for i := 1 to len do
        with ar[i] do
        begin
            surname := '';
            for j := 1 to Random(20) + 1 do
                surname := surname + Chr(Random(26) + 97);
            name := '';
            for j := 1 to Random(25) + 1 do
                name := name + Chr(Random(26) + 97);
            age := Random(100);
            height := Random(120) + 100;
            avr := Random * 5;
            WriteLn(surname:20, ' ', name:20, ': возраст - ', age, ', рост - ', height, ', средний балл - ', avr:0:2);
            //Write('Фамилия: '); ReadLn(surname);
            //Write('Имя: '); ReadLn(name);
            //Write('Возраст: '); ReadLn(age);
            //Write('Рост: '); ReadLn(height);
            //Write('Средний балл: '); ReadLn(avr);
        end;
    {сортируем массив так, чтобы сначала шли самые средние, а в конце - самые уникальные}
    SortArray(ar, 1, len);
    WriteLn('А. Самые уникальные:');
    for i := (len div 3) * 2 + 1 to len do
        with ar[i] do
            WriteLn(surname:20, ' ', name:20, ' ', avr:0:2);
    WriteLn('Б. Самые средние:');
    for i := 1 to len div 3 do
        with ar[i] do
            WriteLn(surname:20, ' ', name:20, ' ', avr:0:2);
    WriteLn('В. Самые средние среди самых уникальных:');
    SortArray(ar, (len div 3) * 2 + 1, len);
    for i := (len div 3) * 2 + 1 to ((len + (len div 3) * 2 + 1) div 2) do
        with ar[i] do
            WriteLn(surname:20, ' ', name:20, ' ', avr:0:2);
    WriteLn('Г. Самые уникальные среди самых средних:');
    SortArray(ar, 1, len div 3);
    for i := (len div 6) + 1 to len div 3 do
        with ar[i] do
            WriteLn(surname:20, ' ', name:20, ' ', avr:0:2);
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2016, 17:33
Помогаю со студенческими работами здесь

Найти 3 самых больших и 3 самых маленьких числа в двумерном массиве
Дан двумерный массив размерностью m x n, нужно найти и вывести 3 самых больших и 3 самых маленьких числа во всем массиве. Заранее спасибо

Найти два самых больших и самых маленьких элементов массива
Одномерные массивы для обычных массивов и для класса Array. Составить программу нахождения двух самых больших (самых маленьких) элементов...

Програма для нахождения 2 самых больших числа и 2 самых маленьких без массивов
Здравствуйте, помогите сделать задание по Лабе. Нужно создать программу которая находит 2 самых больших и 2 самых маленьких числа из ввода...

Составить программу нахождения двух самых больших (самых маленьких) элементов массива
Нужно решить до завтрешнего утра (8:00 - 9:00 крайние сроки) Составить программу нахождения двух самых больших (самых маленьких)...

Строки: найти первое из самых длинных и последнее из самых коротких слов и поменять их местами
Помогите написать прогу) 1. Строка состоит не менее чем из двух слов. Преобразовать её по следующему правилу: найти первое из самых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru