Урок 18 Задача 5
Primary tabs
Пользователь вводит в консоль строку вида:
Имя 123-- т.е. слева имя и через произвольное количество пробелов число баллов. Разберите эту строку получив имя пользователя как значение в переменной типа string и число баллов в перееменной типа integer;
var
s, s1, s2: string;
i,
j, a: integer;
begin
write ('Введите строку: ');
readln(s);
i:= 0;
j:= 0;
s1:= '';
s2:= '';
while not (i > length(s)) do // цикл для обхода строки
begin
i:= i+1;
{Условие, если встретилось число или не число и не пробел(т.е. символ из имени)}
if (s[i]>='0')and(s[i]<='9') or not ((s[i]>='0')and(s[i]<='9') or (s[i] =' ')) then
begin
j:= j + 1;
if j > 2 then
break
else
for i:= i to length(s) do
if not ((s[i]>='0')and(s[i]<='9') or (s[i] =' ')) then
s1:= s1 + s[i]
else if (s[i]>='0')and(s[i]<='9') then
s2:= s2 + s[i]
else
break;
end;
end;
val(s2, a); // преобразовываем вторую строку в число
writeln (s1);
writeln (a);
readln();
end.- Log in to post comments
- 814 reads
Patrick
Wed, 01/04/2023 - 16:39
Permalink
Исправил
var s, s1, s2: string; i, a: integer; begin write ('Введите строку: '); readln(s); s1:= ''; s2:= ''; for i:=1 to length(s) do // цикл для обхода строки if (s[i]>='0')and(s[i]<='9') then s2:= s2 + s[i] else if not (s[i] =' ') then s1:= s1 + s[i]; val(s2, a); // преобразовываем вторую строку в число writeln (s1); // выводим имя write (a); // выводим число баллов readln(); end.Вывод в консоли:
vedro-compota
Wed, 01/04/2023 - 17:19
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)