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

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

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

> найти среднюю длину слов в массиве строк и заменить нею слова последней строки
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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.


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

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


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

 





- Текстовая версия 5.11.2025 5:56
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name