Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Дана символьная величина, Паскаль (http://www.tehnari.ru/f41/t87443/)

Натуличка 13.04.2013 22:29

Дана символьная величина, Паскаль
 
паскаль. Дана символьная величина. Посчитать кол-во слов у которых предпоследняя буква "и" и всего 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
но программа выводит мне не то слово......помогите пожалуйста

Vladimir_S 14.04.2013 10:33

Вложений: 1
Цитата:

Сообщение от Натуличка (Сообщение 895950)
но программа выводит мне не то слово......помогите пожалуйста

Ну, откровенно говоря, я бы на месте транслятора, увидев шедевры типа
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.



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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.