Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 13.04.2013, 22:29   #1 (permalink)
Натуличка
Member
 
Регистрация: 06.02.2012
Сообщений: 46
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Дана символьная величина, Паскаль

паскаль. Дана символьная величина. Посчитать кол-во слов у которых предпоследняя буква "и" и всего 6 букв. вот что получилось у меня получилось....
var a:string;
b: array [1..10] of integer;
f,i,k,i1,i2: integer;
begin
write('a=');
readln (a);
a:=a+' ';
k:=0;
i1:=1;
i2:=0;
for i:=1 to lenght (a) do
begin
if (copy (a,i,1)=' ' ) then begin
k:=k+1;
i2:=i;
b[k]:=copy(a,i1,i2-i1+1);
i1:=i2+1;
end;
end;
writeln ('пер слово = ', b[1]);
for i:=2 to k do
if lenght (b[i]=6 and b[i,5,1]);
readln;
end
но программа выводит мне не то слово......помогите пожалуйста
Натуличка вне форума   Ответить с цитированием

Старый 13.04.2013, 22:29
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Аналогичные темы создавались ранее, вы можете ознакомиться с ними

Дана последовательность символов
Дана сумма ряда. Ряд Маклорена в Паскале

Старый 14.04.2013, 10:33   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Натуличка Посмотреть сообщение
но программа выводит мне не то слово......помогите пожалуйста
Ну, откровенно говоря, я бы на месте транслятора, увидев шедевры типа
if lenght (b[i]=6 and b[i,5,1]);
выдал бы та-акое слово, что сантехники, покраснев, как свёклы, попадали бы без чувств. И за ошибки, и за враньё. А враньё потому, что ни один транслятор подобного нагромождения ляпов и неряшливостей не пропустил бы и ничего, кроме перечня ошибок, не выдал, так что утверждения, что он якобы показывает какой-то (пусть и не тот) результат, есть полная и абсолютная ложь. Достаточно того, что НЕТУ такого служебного слова "Lenght", а есть "Length" - длина (англ.). Ну и еще куча всего. Практически в каждой строке по "перлу".
Пытался проследить применяемый Вами алгоритм и, честно говоря, спасовал. Что-то, не пойми что, накручено-наверчено, а что - лишь автор ведает.
Ладно, вот Вам работающий код:
Код:
var
 a,S:string;
 i,N: integer;
begin
 write('a= ');
 readln(a);
 N:=0;
 i:=1;
 Repeat
  While (a[i]=' ') and (i<Length(a)) do Inc(i);
  S:='';
  While (a[i]<>' ') and (i<=Length(a)) do
   begin
    S:=S+a[i];
    Inc(i);
   end;
  If (Length(S)=6) and (S[Length(S)-1]='и') then
   begin
    Write(S+' ');
    Inc(N);
   end;
 Until i>=Length(a);
 Writeln;
 Writeln(N,' words');
 Readln
End.
Миниатюры
natu.jpg  
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 06:51.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.