![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Lyssa |
![]()
Сообщение
#1
|
|||
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Женский Репутация: ![]() ![]() ![]() |
Помогите мне решить задачу. Дан файл, который содержит 4 строки, определить сколько слов имеет количество букв некоторого числа N.
Для одной строки в меня получаеся, а от для 4 не могу... uses crt; const
A = ['A'..'Z'] + ['a'..'z'];
var
n,i: Integer;
s: String;
j: Integer;
Num: Integer;
begin
Write('Vedite radoc: ');
readln(s);
end;
Write('Dlina slova: ');
ReadLn(n);
j := 0;
Num := 0;
for i := 1 to Length(s) do
if s[i] in A then
Inc(j)
else begin
if j = n then Inc(Num);
j := 0;
end;
if j=n then Inc(Num);
WriteLn('V radky ', Num, ' clov c dlinoy ', n);
ReadLn;
end.
|
|||
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Не совсем понимаю, почему возникла проблема. Просто зацикли и сделай то же самое 4 раза. Я что-то упускаю?
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lyssa |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Женский Репутация: ![]() ![]() ![]() |
Делала, но у меня получается 0.
|
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Делала, но у меня получается 0. Так ты приведи ТОТ код, в котором ошибка! Зачем приводить тот, который работает?? похвастать что ли? ![]() Давай код - исправим ошибку )) -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lyssa |
![]()
Сообщение
#5
|
|||
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Женский Репутация: ![]() ![]() ![]() |
const
A = ['A'..'Z'] + ['a'..'z'];
var
n,i: Integer;
s: String;
k,j: Integer;
Num: Integer;
begin
Write('Vedite radoc: ');
for i:=1 to 4 do begin
readln(s[i]);
end;
Write('Dlina slova: ');
ReadLn(n);
k:=0;
j := 0;
Num := 0;
i:=1;
while i<=4 do begin
for i:=1 to Length(s) do
if s[i] in A then
Inc(j)
else begin
if j = n then Inc(Num);
j := 0;
end;
if j=n then Inc(Num);
k:=k+num;
i:=i+1;
end;
WriteLn('V radky ', k,' clov c dlinoy ', n);
ReadLn;
end.
|
|||
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Слушай - я обижусь, если ты не будешь выполнять правила (и мои просьбы).
Исправь, плз. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lapp |
![]()
Сообщение
#7
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Я исправил на этот раз - дальше сама ставь тэги, пожалуйста.
Ты пытаешься использовать строку как массив строк. Но для этого тебе надо было описать s не как строку, а как массив. Ты этого не сделала. Но я вообще не возьму в толк - зачем ты вводишь строки с консоли, если по условию а тебя текст находится в файле? Короче, ввод надо переделать. Я сейчас набросаю, как.. И массив строк тоже не нужен, можно все подсчитывать прямо при чтении. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lapp |
![]()
Сообщение
#8
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Вот, смотри, я сделал, что говорил: взял твое первое решение и зациклил его. Ввод теперь из файла dat.txt, сделай его. Я тестировал на таком:
Цитата Oh, jingle bells, jingle bells Jingle all the way Oh, what fun it is to ride In a one horse open sleigh А вот код: const
A = ['A'..'Z'] + ['a'..'z'];
var
n,i,j,k,Num: Integer;
s: String;
f: text;
begin
Write('Dlina slova: ');
ReadLn(n);
Assign(f,'dat.txt');
Reset(f);
Num := 0;
while not EoF(f) do begin
ReadLn(f,s);
j := 0;
for i := 1 to Length(s) do
if s[i] in A then
Inc(j)
else begin
if j = n then Inc(Num);
j := 0;
end;
if j=n then Inc(Num)
end;
Close(f);
WriteLn('In the file, there are ',Num,' clov c dlinoy ',n);
ReadLn
end.
Совет: убери галку с опции "use Tab characters" - будет меньше мучений как тебе, так и тем, кто тебе помогает.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 31.07.2025 3:48 |