0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 62
1

Вывести на экран фамилию и имя участника набравшего максимальное количество баллов

10.01.2013, 10:22. Показов 6240. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
задача 6. на городской олимпиаде по информатике участникам было предложено выполнить 3 задания, каждое из которых оценивалось по 25-бальной шкале. Результаты олимпиады сохранены в файле, каждая запись которого имеет: <фамилия> <имя> <баллы>
здесь <фамилия> - строка состоящая из 20 символов ;<имя> - не более чем из 15 символов ; <баллы> - строка содержащая три целых числа, разделенных пробелом , соответствующая баллам,полученным участником за каждое задание первого тура. Напишите программу которая будет выводить на экран фамилию и имя участника набравшего макс.количество баллов. если среди остальных участников есть ученики, набравшие такое же количество баллов, то их фамилии и имена также следует вывести

Напишите пожалуйста эту задачу с комментариями ,а то вообще плаваю в типизированных файлах. Помогите пожалуйста задача нужна чтобы зачет закрыть, единственный не закрытый зачет
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2013, 10:22
Ответы с готовыми решениями:

Определить фамилию победителя (участника, набравшего наибольшее количество баллов
К соревнованиям, проходившим в три тура, были допущены трое: Иванов, Петров, Сидоров. Иванов в...

Строки. Программа выводит на экран фамилию и имя участника, набравшего максимальное количество баллов.
Напишите пожалуйста задачу: На городской олимпиаде по информатике участникам было предложено...

Фамилию и имя участника, набравшего максимальное количество баллов.
на вход программы подаются сведения о результах участников,в 1 строке вводится количество...

Вывести фамилию кандидата, набравшего максимальное количество голосов
В ЭВМ, обслуживающую выборы, вводят следующую информацию: фамилии кандидатов и количество набранных...

4
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
10.01.2013, 10:30 2
Цитата Сообщение от Artyomdoc Посмотреть сообщение
здесь <фамилия> - строка состоящая из 20 символов ;<имя> - не более чем из 15 символов ; <баллы> - строка содержащая три целых числа, разделенных пробелом ,
Это условие явно для текстового файла, Вероятно условие задачи написано не полностью.
0
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 62
10.01.2013, 10:46  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
Это условие явно для текстового файла, Вероятно условие задачи написано не полностью.
Понимаю что с текстовыми это решить можно, но препод сказал надо через типизированные делать. Вот ниже решение приложил, но оно какое-то косячное и непонятное
Вложения
Тип файла: zip задача6.zip (710 байт, 12 просмотров)
0
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
10.01.2013, 11:47 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
uses crt;
type uchastnik=record
               fam:string[20];
               im:string[15];
               bal:array[1..3]of integer;
               sum:integer;
               end;
var f:file of uchastnik;
    z:uchastnik;
    n,i,j,mx:integer;
begin
write('Количество участников олимпиады n=');
read(n);
writeln('Введите данные');
assign(f,'olimpiada');
rewrite(f);
for i:=1 to n do
 begin
  writeln('Участник ',i);
  with z do
   begin
    write('Фамилия: ');read(fam);
    write('Имя: ');read(im);
    writeln('Набранные баллы по 25 балльной системе:');
    sum:=0;
    for j:=1 to 3 do
     begin
      repeat
      write('Балл ',j,'=');
      read(bal[j]);
      until bal[j] in [0..25];
      sum:=sum+bal[j];
     end;
    write(f,z);
   end
 end;
clrscr;
writeln('Список участников:');
writeln('------------------------------------------------------');
writeln('|      Фамилия      |      Имя       | Баллы   |Сумма|');
writeln('------------------------------------------------------');
seek(f,0);
mx:=0;
while not eof(f) do
 begin
  read(f,z);
  with z do
   begin
    if sum>mx then mx:=sum;
    gotoXY(1,whereY);write('|',fam);
    gotoXY(21,whereY);write('|',im);
    gotoXY(38,whereY);write('|');
    for i:=1 to 3 do write(bal[i]:3);
    gotoXY(48,whereY);write('|',sum:5);
    gotoXY(54,whereY);writeln('|');
   end;
 end;
writeln('------------------------------------------------------');
writeln('Максимальная сумма баллов=',mx);
writeln('Ее набрали:');
seek(f,0);
while not eof(f) do
 begin
  read(f,z);
  if z.sum=mx then writeln(z.fam,' ',z.im);
 end;
close(f);
end.
1
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 62
11.01.2013, 08:11  [ТС] 5
Гигантское спасибо

 Комментарий модератора 
Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2013, 08:11
Помогаю со студенческими работами здесь

Из файла считать данные и по ним определить: номер участника, фамилию, количество баллов
Нашел код в интернете, хотел бы разобраться в этом коде. Суть задания такова что нужно из файла...

В одной строке ввести фамилию, имя, отчество. Вывести на экран фамилию и инициалы
В одной строке ввести фамилию, имя, отчество. Вывести на экран фамилию и инициалы. Пояснения: ...

В файле записаны данные о результатах сдачи экзамена. Каждая строка содержит фамилию, имя и количество баллов
1. В файле записаны данные о результатах сдачи экзамена. Каждая строка содержит фамилию, имя и...

Дана строка, содержащая фамилию, имя и отчество. Вывести на экран строку, содержащую фамилию и инициалы
Дана строка, содержащая фамилию, имя и отчество. Вывести на экран строку, содержащую фамилию и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru