1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| npl |
9.12.2007 12:47
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: http://npfiles.ru Репутация: -1 |
Даны названия N различных обществ (N заданное число), фигуристы которых участовали в соревновании. О каждом фигуристе известно: фамилия, название общества и 10 оценок за его выступление. Требуется для каждого спортивного общества определить фигуриста, показавшего наивысший результат, считая его единственным. Баллы, полученные фигуристом, подсчитываются следующим образом: максимальная и минимальная оценки отбрасываются, а из остальных формируется средняя. При вводе данных обеспечить уникальность наименований обществ и обязательную принадлежность фигуриста к одному из них.
|
![]() ![]() |
| andriano |
14.12.2007 9:40
Сообщение
#2
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
"Пришел барин и всех рассудил." :D
[ ] Мне кажется, вряд ли здесь кто-то не понимает по-русски. Скорее дело в другом: нужен текст на Паскале, а самому переводить с русского на Паскаль не хочтся, - пусть лучше это сделает кто-то другой! Тем более, что исправлять явно указанный недостаток автор этой темы не захотел, решив, очевидно, что и так сойдет. Между тем программа, работающая с текстовыми файлами, должна быть нечувствительна к количеству пробелов, разделяющих слова, т.е. совершенно одинаково обрабатывать "Иванов Динамо" и " Иванов Динамо ". Приведеная же программа, очевидно, с текстовыми файлами работать не умеет, а умеет только с файлами опредедленной структуры. Теперь по поводу задачи в целом (заодно уважаемый volvo сможет сравнить со своим вариантом). - Предусмотреть типы данных для фигуриста (в исходном коде уже есть) и для спортивного общества (название, Ф.И.О. ОДНОГО спортсмена, его средний результат). - Описать переменную для спортсмена (уже есть), массив длины N для обществ (благо, в условии она задана. Можно потребовать, чтобы первой строкой в файле указывалось количество обществ: для учебных/олимпиадных задач - обычное дело. А можно и не требовать: вместо массива организовать список, выделяя память для каждого очередного элемента по мере их поступления) и целую переменную для длины заполненной части массива. - написать функции (декомпозиция - великая вещь!) для: а) разбора строки с заполнением полей "фигуриста": на входе - строка из файла, возвращает - подсчитанное среднее. Функция должна уметь разбирать файлы вроде: Иванов и.И. "Спартак" 1 2 3 4 5 6 7 8 9 10 Сидоров Иван Петрович "Крылья Советов" 3, 4, 5, 5, 7, 8, 9, 10, 11, 12 Мохаммед Ибн Али ПЕру де Оннорре "ООО Челси им. Абрамовича" 2;3;4;5;6;7;8;9;10;1 Смит Джон "Определитель Матрицы" 8.0,7.0, 9, 3., 4, 1.0, 7, 5,9,2 Петров-Водкин Кузьма С. "Спартак" 3,2 1,3,2 1,3 2,1 1,1 б) поиска и добавления обществ: на входе - строка-имя общества, на выходе - номер найденного общества в массиве. Должна просматривать уже сформированную часть массива обществ, если не нашла - завести новое, обнулив все поля. Порядок действия программы: 1. Открыть файл. 1а. При необходимости считать строку с количеством обществ и выделить память для массива. 2. Цикл до окончания файла: - читаем строку - разбираем ее - находим номер общества - если средний балл спортсмена найденного общества ниже, чем вновь считанного, заменяем все данные общества новым спортсменом 3. Закрыть файл. 4. Вывести в цикле на печать заполненный массив обществ. Кстати, размещать в общедоступном месте (например, на форуме) програму без комментаиев - mauvais ton. Должна быть минимум одна строка коментария на 5-7 строк кода. Должны быть откомментированы все процедуры и функции: назначение и список параметров. Должны быть откомментированы все новые типы и их поля, а также глобальные переменные. Естественно, не должно быть коментариев типа: r := sqrt(x*x + y*y); {присваиваем переменной r значение sqrt(x*x + y*y)} |
npl Работа с файлами 9.12.2007 12:47
volvo ... и что? Хорошее задание, только зачем ты привел... 9.12.2007 13:41
npl Частично задача решена. А именно, я создаю типизир... 9.12.2007 13:48
andriano
Частично задача решена. А именно, я создаю типизи... 9.12.2007 14:28
npl Вот код
program obchestva_and_figuristyi;
uses cr... 9.12.2007 14:38
npl Народ, откликнитесь. 9.12.2007 17:20
andriano То, что ты сделал, возможно, подходит под определе... 9.12.2007 19:00
npl
То, что ты сделал, возможно, подходит под определ... 9.12.2007 19:05
andriano Если проверка задания будет выполнена по уму, то ф... 9.12.2007 19:20
npl Если ФИО меньше 10, то там оставшееся место заполн... 9.12.2007 19:22
andriano А есть ли описание формата файла?
Не может оказать... 9.12.2007 19:29
npl Я сам составлял файл. Задачу надо решать для конкр... 9.12.2007 19:32
andriano
Я сам составлял файл. Задачу надо решать для конк... 9.12.2007 20:09
npl Да забудьте про преобразование. Оставлю так, как е... 9.12.2007 20:12
andriano Самый простой способ - перебором.
PS. А алгоритм ... 9.12.2007 20:15
npl Не получается найти максимальный элемент. Когда на... 9.12.2007 21:36
andriano Коль скоро для каждого фигуриста все равно вычисля... 9.12.2007 22:38
npl
Коль скоро для каждого фигуриста все равно вычисл... 9.12.2007 22:49
andriano А ты не заметил, что твоя программа не совсем соот... 10.12.2007 20:57
npl
А ты не заметил, что твоя программа не совсем соо... 10.12.2007 21:09
andriano Пальчиком ткни. 10.12.2007 21:32
npl obsh:string;
вот тут, может хватить мудить, если б... 10.12.2007 22:25
andriano Грубить не надо.
Помочь - могу, а писать код за те... 12.12.2007 20:46
npl "Спасибо", что не помогли, andriano. Но ... 12.12.2007 23:33
Michael_Rybak "Спасибо" andriano от тебя заслуживает к... 12.12.2007 23:51
npl
"Спасибо" andriano от тебя заслуживает ... 12.12.2007 23:55
Michael_Rybak
Аааа, т.е. когда ты задаешь вопрос, я должен не о... 13.12.2007 0:20
npl
Аааа, т.е. когда ты задаешь вопрос, я должен не о... 13.12.2007 13:11
Lapp Господа, прошу прекратить перебранку. Тему закрыв... 13.12.2007 14:24
Malice Начнем тогда уж.. Внесу свою лепту для начала :)
... 14.12.2007 11:27
andriano
Начнем тогда уж.. Внесу свою лепту для начала :)
... 14.12.2007 18:17![]() ![]() |
|
Текстовая версия | 8.12.2025 16:44 |