Задача 4 урок 16
Primary tabs
Задача 4 урок 16
Пользователь вводит строку произвольных символов, запишите первые 8 символов цифр в массив и выведете этот массив на экран.
var s:string; i, n: Integer;
a: array[1..8] of char;
begin
writeln('Vvedite stroku');
readln(s);
n := 1;
while(n<10) do // 1-8
begin
for i:=1 to Length(s) do
if (s[i]>='0')and(s[i]<='9') then
begin
a[n]:=s[i]; //массив записывать по n
inc(n); //процедура n:=n+1
end;
end;
for i:=low(a) to high(a) do
write(a[i],' '); // выводим массив
readln();
end.- Log in to post comments
- 1715 reads
vedro-compota
Sun, 09/05/2021 - 12:23
Permalink
while(n<10) do // 1-8
-- зачем тут внешний цикл?
_____________
матфак вгу и остальная классика =)
boris68
Mon, 09/06/2021 - 21:45
Permalink
исправлено
Цикл while использовался для ограничения записи массива до 8 элементов, исправлено
var s:string; i, n: Integer; a: array[1..8] of char; begin writeln('Vvedite stroku'); readln(s); n := 1; //счетчик цифр for i:=1 to Length(s) do if (s[i]>='0')and(s[i]<='9') then begin if n = 9 then //9-1=8 break; a[n]:=s[i]; //массив записывать по n inc(n); end; for i:=low(a) to high(a) do write(a[i],' '); // выводим массив readln(); end.vedro-compota
Tue, 09/14/2021 - 22:21
Permalink
if n = 9 then //9-1=8
лучше сделать break на 8-ом витке. после нужных операций
_____________
матфак вгу и остальная классика =)
boris68
Wed, 09/15/2021 - 21:38
Permalink
Доработано по замечанию
var s:string; i, n: Integer; a: array[1..8] of char; begin writeln('Vvedite stroku'); readln(s); n := 1; //счетчик цифр for i:=1 to Length(s) do if (s[i]>='0')and(s[i]<='9') then begin if n < 9 then // begin a[n]:=s[i]; //массив записывать по n inc(n); end else break; end; for i:=low(a) to high(a) do write(a[i],' '); // выводим массив readln(); end.vedro-compota
Sun, 09/19/2021 - 12:20
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)