Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2011, 17:53   #1
Morpex11
Новичок
Джуниор
 
Регистрация: 04.12.2011
Сообщений: 2
Сообщение Набросайте решением [please]

Информация о футболистах вводиться также, как и для приведенной ниже задачи (сначала n, потом n строк с данными). Вывести фамилию и имя футболиста, забившего наибольшее число голов и количество забитых им голов. Например Иванов Василий 25
Morpex11 вне форума Ответить с цитированием
Старый 04.12.2011, 19:51   #2
Morpex11
Новичок
Джуниор
 
Регистрация: 04.12.2011
Сообщений: 2
По умолчанию

Набросайте немного программу
Morpex11 вне форума Ответить с цитированием
Старый 04.12.2011, 21:00   #3
morgan97
Пользователь
 
Регистрация: 08.01.2011
Сообщений: 28
По умолчанию

программу пока не могу, держи алгоритм
1)Вбиваешь строку
2)преобразовываешь кол-во голов в целочислинный тип, и вбиваешь в массив
3)Сравниваешь элементы массива, и наибольший в переменную max
4)преобразовываешь максимальный элемент в строку
5)ищешь в заданных строках совпадение со строкой с максимальным элементом
6)выводишь на экран
morgan97 вне форума Ответить с цитированием
Старый 04.12.2011, 21:00   #4
morgan97
Пользователь
 
Регистрация: 08.01.2011
Сообщений: 28
По умолчанию

потом будет время, набросаю программу
morgan97 вне форума Ответить с цитированием
Старый 04.12.2011, 22:31   #5
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

Код:
type
  Player = record
    FName: string;
    Name: string;
    Point: integer;
  end;

const
  sep = #32;

var
  Data: array [1..100] of Player;
  Input: array[1..100] of string;
  i, err: integer; 
  N, MaxP: integer;
  InFile: text;

begin
  assign(InFile, 'C:\in.txt');
  reset(Infile);
  readln(InFile, N);
  for i := 1 to N do
    readln(InFile, Input[i]);
  close(InFile); 
  
  for i := 1 to n do
    with Data[i] do 
    begin
      FName := copy(Input[i], 1, pos(sep, Input[i]) - 1);
      delete(Input[i], 1, pos(sep, Input[i]));
      
      Name := copy(Input[i], 1, pos(sep, Input[i]) - 1);
      delete(Input[i], 1, pos(sep, Input[i]));
      
      val(copy(Input[i], 1, length(Input[i])), Point, err);
      delete(Input[i], 1, length(Input[i]));
    end;
  
  { for i := 1 to n do
     with Data[i] do 
       writeln(Fname, ' ', Name, ' ', Point); }
  
  MaxP := 1;  
  for i := 1 to n do
    if Data[i].Point > Data[MaxP].Point then MaxP := i; 
  
  with Data[MaxP] do
    writeln(FName, ' ', Name, ' ', Point);
end.
или в условиях данной задачи - так:
Код:
var
  Input: array[1..100] of string;
  point: array[1..100] of integer;
  i, j, Max, N, err: integer;
  temp: string;
  InFile: text;

begin
  assign(InFile, 'C:\in.txt');
  reset(Infile);
  readln(InFile, N);
  for i := 1 to N do 
  begin
    readln(InFile, Input[i]);
    temp := Input[i];
    for j := length(temp) downto 1 do
      if temp[j] = #32 then 
      begin
        val(copy(temp, j + 1, length(temp) - j), Point[i], err);
        break;
      end;
  end;
  close(InFile);
  
  Max := 1;
  for i := 1 to n do
    if point[i] > point[Max] then Max := i;
  writeln(Input[Max]);
  
end.

Последний раз редактировалось unbanned; 04.12.2011 в 22:55.
unbanned вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На C++,помогите с решением LeshkinMaloy Помощь студентам 1 18.11.2009 22:35
Помогите с решением Сергей Попов Паскаль, Turbo Pascal, PascalABC.NET 1 08.12.2008 21:32
Помогите с решением Amen Помощь студентам 13 31.01.2008 22:03