Глава 17 .Задача №5.Пользователь вводит в консоль строки (имя + произвольное число пробелов + балл)(пока не введёт строку "end")
Primary tabs
Пользователь вводит в консоль строки вида (имя + произвольное число пробелов + балл):
Вася 485 Коля 555 Юра 61 .......... .... end // признак завершения ввода(пока не введёт строку end) -- где слева указаны имена участников, а справа -- число баллов.
Используя массив строк и массив целых чисел (пусть оба массива будут максимальной длины =3) считайте отдельно имена и баллы и определите победителя, выведя его имя и полученный им балл.
program pascal_17_5; type a = array[1..3] of integer; // секция обьявления типов b = array[1..3] of string; var max, i, j, num,code, str_int , name , index : integer; // секция обьявления переменных s, empty_str, empty_int : string; int_arr : a; str_arr : b; begin // начало тела основной программы index := 0; j := 0; max := 0; s := ''; while( s <> 'end' ) do begin empty_str := ''; empty_int := ''; num := 0; readln( s ); if( s <> 'end' ) then begin for i := 1 to length( s ) do // обходим строку begin if( s[i] <> ' ' ) and ( num = 0 ) then // если условие верно empty_str += s[i] // в пустую строку добавляем элемент else begin if( s[i] = ' ' ) then // если равна пустой строке begin num := 1; // делаем первый if невыполнимым continue; // пропускаем если символ пустая строка end; if ( s[i] >= '0' ) and ( s[i] <= '9' ) then empty_int += s[i]; // добавляем в другую пустую строку символы end; end; j += 1; // индекс массива str_arr[j] := empty_str; // добавляем в массив Val( empty_int , str_int ,code ); // преобразуем в число int_arr[j] := str_int; end; end; for i := 1 to high( int_arr ) do // обходим integer массив begin if( int_arr[i] > max ) then // если значение массива больше max begin max := int_arr[i]; // присваиваем max значение массива index := i; // считаем индекс string массива end; end; writeln( str_arr[index],' ', 'scored a maximum : ' , max ); // выводим readln(); end.
- Log in to post comments
- 1546 reads