Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Задача такова: дан набор строк (вводятся с клавиатуры). Строка формируется следующим образом: фамилия спортсмена (10 символов) и 6 результатов (каждый результат по 3 символа). Составить программу, определяющую спортсмена, занявшего первое место в соревнованиях.

 

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

 

Program exe2;
var str,res,fam,famfin:string; j,n,max,maxfin,i,zif,code:integer;
begin
{вводим количество строк}
writeln ('vvedite kol-vo strok');
readln (n);
{обнуляем нужные переменные}
i:=1; fam:=''; max:=0; maxfin:=0; famfin:='';
for j:= 1 to n do begin
  {вводим строку}
  writeln ('vvedite stroky');
  readln (str);
  repeat
    fam:=fam+str[i];
    i:=i+1;
  until str[i]<>' ';
  str:=str+' '; i:=i+1; res:='';
  while i<=length(str) do begin
       if str[i]<>' ' then
	               res:=res+str[i]
    else
	    begin
		{преобразуем переменную в число}
		val(res,zif,code);
		{сравниваем с текущим максимом в строке}
		if zif>max then max:=zif;
		res:='';
		end;
	i:=i+1;
end;
{сравниваем с максимумом во всем тексте}
if max>maxfin then
      begin
	  maxfin:=max; famfin:=copy(fam,1,length(fam));
	  end;
fam:='';
max:=0;
i:=1;
end;
{выводим результат}
writeln ('first place', famfin);
writeln ('rezyltat', maxfin);
end.

Опубликовано

Че никто не поможет? Может быть косяк самой программы, Turbo Pascal?

Опубликовано

Theo Walcott, уточни язык (компилятор). Просто в случае делфей можно попроще, с турбопаскалем - посложнее. А код твой может сегодня гляну, отпишу, что не так.

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...