IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Строки, слов в строке....
Lyssa
сообщение 18.12.2010 22:25
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Женский

Репутация: -  0  +


Помогите мне решить задачу. Дан файл, который содержит 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.


М
Просьба соблюдать правила.
Правила Форума, п.5, и правила раздела Задачи, п.2

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2010 0:16
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Не совсем понимаю, почему возникла проблема. Просто зацикли и сделай то же самое 4 раза. Я что-то упускаю?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lyssa
сообщение 19.12.2010 0:18
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Женский

Репутация: -  0  +


Делала, но у меня получается 0.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2010 0:25
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Lyssa @ 19.12.2010 0:18) *
Делала, но у меня получается 0.
Так ты приведи ТОТ код, в котором ошибка! Зачем приводить тот, который работает?? похвастать что ли? smile.gif)
Давай код - исправим ошибку ))


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lyssa
сообщение 19.12.2010 0:49
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Женский

Репутация: -  0  +


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.


М
Ставь теги!!
Исправил в последний раз.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2010 1:15
Сообщение #6


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Слушай - я обижусь, если ты не будешь выполнять правила (и мои просьбы).
Исправь, плз.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2010 1:36
Сообщение #7


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Я исправил на этот раз - дальше сама ставь тэги, пожалуйста.

Ты пытаешься использовать строку как массив строк. Но для этого тебе надо было описать s не как строку, а как массив. Ты этого не сделала.
Но я вообще не возьму в толк - зачем ты вводишь строки с консоли, если по условию а тебя текст находится в файле? Короче, ввод надо переделать. Я сейчас набросаю, как..
И массив строк тоже не нужен, можно все подсчитывать прямо при чтении.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2010 2:18
Сообщение #8


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Вот, смотри, я сделал, что говорил: взял твое первое решение и зациклил его. Ввод теперь из файла 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" - будет меньше мучений как тебе, так и тем, кто тебе помогает..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 31.07.2025 3:48
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"