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

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

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

> найти среднюю длину слов в массиве строк и заменить нею слова последней строки
INZA
сообщение 19.12.2010 21:42
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской
Реальное имя: Владимир

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


найти среднюю длину слов в массиве строк и заменить нею слова последней строки (размерность массива 12)
среднюю длину вроде нахожу а как замену сделать ? как не введу постоянно не правильно помогите пожалуйста

Var S : string;
NumWords,
NumLetters,
k1,k2,
l : byte;
MiddleLet : real;
Cond : boolean;
Begin
Readln(S);
Writeln('S=',S);
NumWords:=0;
NumLetters:=0;
MiddleLet:=0;
k2:=0; Cond:=true;
While Cond do
Begin
k1:=NotSpace(S,k2+1);
If k1=0 then
Cond:=false
Else
Begin
k2:=Space(S,k1+1);
If k2=0 then
Begin
k2:=length(S)+1;
Cond:=false;
End;
l:=k2-k1;
Inc(NumWords);
Inc(NumLetters,l);
End;
End;
Writeln('кол-во слов=',NumWords,' кол-во букв=',
NumLetters);
If NumWords>0 then
MiddleLet:=NumLetters/NumWords;
Writeln('средняя длина=',MiddleLet:6:1);
End.


Сообщение отредактировано: INZA - 19.12.2010 21:43
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
INZA
сообщение 21.01.2011 12:47
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской
Реальное имя: Владимир

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


нужно найти среднюю длину и заменить нею слова последней строки.
выходит ошибка скажите что я делаю не правильно
program h7V4Z7;
Uses crt;
type str=array [1..40] of string;
const
m=12;
Letters=['A'..'Z']+['a'..'z'];
procedure VVod_klav(var x:str;var n:integer);
var i:integer;
begin
writeln ('koli4ectBo strok',n);
for i:=1 to n do
begin
writeln('vvedite s[',i,']');
readln(x[i]);
end;
writeln ('text cformipovovan');
readkey;
end;
procedure VVod_avt(var X:str; var n:integer);
var i:integer;
begin
X[1]:='Hark how the bells';
X[2]:='sweet silver bells';
X[3]:='all seem to say';
X[4]:='throw cares away';
X[5]:='Christmas is here';
X[6]:='bringing good cheer';
X[7]:='to young and old';
X[8]:='meek and the bold';
X[9]:='Ding dong ding dong ';
X[10]:='that is their song ';
X[11]:='with joyful ring ';
X[12]:='all caroling';
N:=12;
writeln;
writeln('text cformiroBoBaH');
end;
procedure Vivod(var X:str; size:integer);
var i:integer;
begin
for i:=1 to size do
writeln (X[i])
end;
Var
s: str;
l: LongInt;
i,j,n: integer;
x,w: string;
f: text;
y:byte;
old_color:byte;
ch,regim:char;
result,VVod:boolean;
res:real;
Begin
Old_Color:=Textattr;vvod:=false;
Repeat
window(1,1,80,25);
textattr:=black shl 4+yellow;
clrscr;
gotoxy(5,1); write(' labopatopHa9 Pabota #7');
window(20,8,60,18);
textattr:=black shl 4+yellow;
clrscr;
gotoxy(11,4); write(' F1 - BBod ctpok');
gotoxy(11,5); write(' F2 - BuBod ctpok');
gotoxy(11,6); write(' F3 - obpabotka ctrok');
gotoxy(11,7); write(' F4 - o nporpamme ');
gotoxy(11,8); write(' Esc - Exit ');
textcolor(yellow); gotoxy(12,2);write(' Baw Bubop? ');
ch:=Readkey;
if ch=#0 then
Begin
ch:=Readkey;
window(5,2,75,24);
textattr:=black shl 4+yellow;
clrscr;
case ch of
#59:Begin
write ('regim BBoda (1-s klabuatypi/2-abtomatu4eckoe fopmupoBaHue)');
regim:=readkey;
case regim of
'1':begin
writeln;
writeln('VVedute kolu4ectBo ctpok,N= ');readln(n);
vvod_klav(s,n);
VVod:=true;
readkey;
end;
'2':begin
begin
clrscr;
VVod_avt(s,n);
VVod:=true;
readkey;
end;
if vvod then writeln ('ctpoku bbedehu' )
else writeln ('ctpoku He BBedeHu');
readkey;
End;
#60:Begin
if vvod then
vivod(s,n)
else writeln('text ne vveden');
readkey;
end;
#61:Begin
vivod(s,n);
writeln;
if VVod then writeln ('ctpoku bbedehu' )
else writeln ('ctpoku He BBedeHu');
readkey;
l:=0;
n:=0;
for i:=1 to m do
begin
w:='';
for j:=1 to Length(s[i]) do
begin
if s[i][j] in Letters then w:=w+s[i][j];
if not (s[i][j] in Letters) or (i=Length(s[i])) then
if w<>'' then
begin
l:=l+Length(w);
Inc(n);
w:='';
end;
end;
end;
WriteLn('srednaia dlina ',l/n:0:3);
ReadLn;
begin
for i:=length(X) downto 1 do
if x[12]='all' or x[12]='caroling'
then insert(l/n,x[1],1);
begin
write('rezyltat');
readkey;
end;
end;
end;
#62:Begin
writeln('Onepacuu c massiBamu ctpok');
writeln('Haxo}|{deHue cpedheu dluHHu ctpok');
writeln('zameHa dluHHou cloBa nocledhei ctpoku');
Readkey;
End;
end;
end;
until(ch=#27);
window(1,1,80,25);
textattr:=Old_Color;
clrscr;
END.


Сообщение отредактировано: мисс_граффити - 21.01.2011 14:45
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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