напишите программу которая в заданном файле подсчитывает кол-во строк,длина которых в символах находиться в заданных пользователем пределах(например,от 10 до 20)ювыведите на экран только эти строк файла.хххеелп
PROGRAM PR; VAR str:array[1..100] of STRING; a,b,n,i,m:byte; f:text; begin writeln('vvedite kol-vo simvolov a'); readln(a); writeln('vvedite kol-vo simvolov b'); readln(b); aSSIGN(F,'C:\OLA.TXT'); RESET(F); n:=1; while not (eof(f)) do begin readln(f,str[n]); end; for i:=1 to length(str[i]) do begin m:=length(str[i]); if (m>=a) and(m<=b) then n:=n+1 else writeln('takih strok net'); write(n); readln; close(f); readln(n); end; end.
времени около часа,помогите пожалуйста
Lapp
29.06.2010 9:15
все можно делать в одном цикле Примерно так (не проверял)
VAR s: STRING; a,b: byte; n: word; f:text;
begin writeln('vvedite min kol-vo simvolov a'); readln(a); writeln('vvedite max kol-vo simvolov b'); readln(b); aSSIGN(F,'C:\OLA.TXT'); RESET(F); n:=0; while not eof(f) do begin readln(f,str]); if (Length(s)>=a) and(Length(s)<=b) then Inc(n); end; close(f); writeln('Всего найдено ',n,' строк с длиной от ',a,' до ',b); readln; end.
... немного подправил..
PUMA
29.06.2010 9:29
а как их вывести??
Lapp
29.06.2010 9:46
Цитата(PUMA @ 29.06.2010 10:29)
а как их вывести??
вот так
VAR s: STRING; a,b: byte; n: word; f:text;
begin writeln('vvedite min kol-vo simvolov a'); readln(a); writeln('vvedite max kol-vo simvolov b'); readln(b); aSSIGN(F,'C:\OLA.TXT'); RESET(F); n:=0; while not eof(f) do begin readln(f,s]); if (Length(s)>=a) and(Length(s)<=b) then begin Inc(n); writeln(s) end end; close(f); writeln('Всего найдено ',n,' строк с длиной от ',a,' до ',b); readln; end.
извини, надо было сразу сделать..
PUMA
29.06.2010 9:55
надо только те которые удовлет-т усл-ю..а не все
Lapp
29.06.2010 10:01
Цитата(PUMA @ 29.06.2010 10:55)
надо только те которые удовлет-т усл-ю..а не все
я так и сделал. Посмотри - вывод стоит внутри if
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.