инфа / informatika
.docxУдалить самое длинное слово из строки
program Pr_1;
uses crt;
var max,k,i,N,y,j,p:integer;
S,s1,B: string;
A:array [1..100] of string;
C:array [1..10] of integer;
Begin
Clrscr;
Writeln('Vvedite stroku: ');
Readln(S);
y:=1;
s:=' '+s+' ';
for i:=1 to length(s) do
Begin
If S[i]=' ' then
Begin
For j:=i+1 to length(s) do
If S[j]=' ' then
Begin
a[y]:=copy(s,i+1,j-i-1);
c[y]:=i;
y:=y+1;
Break;
end;
End;
End;
max:=Length(A[1]);
For i:=1 to y-1 do
Begin
If max<Length(A[i]) then
Begin
max:=Length(A[i]);
B:=A[i];
p:=i;
End;
End;
n:=length(s);
s:=copy(s,1,c[p])+Copy(s,c[p]+2+length(b),n-c[p]-2-length(b));
Writeln('Samoe dlinnoe slovo: ',B,' Stroka: ',s);
Readln;
End.
uses crt;
var s,sl,smax: string;
i,imax,dmax: integer;
begin
clrscr;
write('vvedite stroku: ');
readln(s);
s:=s+' '; sl:=''; dmax:=0;
for i:=1 to length(s) do
if s[i]<>' ' then sl:=sl+s[i]
else
begin
if length(sl)>dmax then
begin
imax:=i-length(sl);
dmax:=length(sl);
smax:=sl;
end;
sl:='';
end;
writeln ('samoe dlinnoe slovo "',smax,'" dlinoi v ',dmax,' simvolov');
delete(s,imax,dmax);
writeln(s);
readln
end.
Посчитать количество слов в строке определенной длины
Program Pr_1;
uses crt;
var
n: string[50];
i,k: integer;
begin
clrscr;
write('vvedite stroky: ');
readln(n);
i := length(n);
if i>0 then
begin
k:=1;
while i>0 do
begin
if n[i]=' ' then
k:=k+1;
i:=i-1;
end;
end
else
k:= 0;
writeln('kolichestvo slov v stroke = ',k);
readln;
end.
Program Pr_1;
Uses crt;
Var s:string[50]; I,k:integer;
Begin
Clrscr;
Write(‘vvod stroke:’);
Readln(s);
Until length(s)<>0;
K:=0;
For i:=1 to length(s) do
If s[i]=’ ’ then k:=k+1;
Write(‘koli4estvo slov v stroke = ’,k:4);
Readln;
End.
Найти среднее в каждом столбце, занести в отдельный одномерный массив и найти меньшее из них!
Program Pr_1;
uses crt;
type mas=array[1..10, 1..10] of integer;
var a:mas;
b:array[1..10] of real;
n,m,i,j,k,sum,z:integer;
sr,min:real;
begin
clrscr;
write('koli4estvo strok - ');
readln(n);
write('koli4estvo stolbcov - ');
readln(m);
writeln;
randomize;
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=-10+random(20);
write(a[i,j]:4);
end;
writeln;
end;
writeln;
for j:=1 to m do
begin
sum:=0;
k:=0;
sr:=0;
for i:=1 to n do
begin
sum:=sum+a[i,j];
k:=k+1;
sr:=sum/k;
end;
b[j]:=sr;
writeln('srednee po (',j,') stolbcy = ',sr:4:2);
end;
writeln;
writeln('srednue zna4enu9 v otdelnom massive :');
for j:=1 to m do
write(b[j]:8:2);
writeln;
writeln;
min:=b[1];
for j:=1 to m do
if b[j]<min then
min:=b[j];
write('minimalnui element - ',min:4:2);
readln;
end.
Создать двумерный массив, вычислить в нем среднее значение каждой строки и занести результаты в отдельный массив
begin
clrscr;
write('koli4estvo strok - ');
readln(n);
write('koli4estvo stolbcov - ');
readln(m);
writeln;
randomize;
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=-10+random(20);
write(a[i,j]:4);
end;
writeln;
end;
writeln;
for i:=1 to n do
begin
sum:=0;
k:=0;
sr:=0;
for j:=1 to m do
begin
sum:=sum+a[i,j];
k:=k+1;
sr:=sum/k;
end;
b[i]:=sr;
writeln('srednee po (',j,') stroke = ',sr:4:2);
end;
writeln;
writeln('srednue zna4enu9, v otdelnom massive :');
for i:=1 to n do
write(b[i]:8:2);
readln;
end.
В массиве 5 на 5 найти строку с наибольшей суммой вывести номер и строку
Program Pr_1;
uses crt;
const n=5;
m=5;
var a:array[1..10,1..10] of integer;
i,j,max,sum,z,k:integer;
begin
clrscr;
randomize;
writeln('ushodnui massiv');
readln;
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(15);
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
begin
sum:=0;
for j:=1 to m do
sum:=sum+a[i,j];
writeln;
write('summa elementov (',i,') stroku = ',sum:3);
if sum>max then
begin
max:=sum;
k:=i;
end;
end;
writeln;
writeln;
textcolor(green);
write('summa maxumalna v (',k,') stroke = ',max:3);
writeln;
textcolor(red);
writeln('stroka s maxumalnou summou elementov');
for j:=1 to m do
begin
textcolor(yellow);
write(a[k,j]:4);
end;
readln;
end.
Даны два массива a(n) b(m). Найти для каждого массива максимум и минимум, и их порядковый номер. После каждый максимум каждого массива поделить на количество элементов в массиве.
Program Pr_1;
uses crt;
type mas=array[1..10] of integer;
var a,b:mas;
n,m,i,j,max_a,min_a,max_b,min_b:integer;
k,l,p,z:integer;
rez_1,rez_2:real;
begin
clrscr;
write('vvedite kolu4estvo elementov 1 massiva - ');
readln(n);
write('vvedite kolu4estvo elementov 2 massiva - ');
readln(m);
randomize;
writeln;
for i:=1 to n do
begin
a[i]:=random(15);
write(a[i]:4);
end;
writeln;
writeln;
for j:=1 to m do
begin
b[j]:=random(15);
write(b[j]:4);
end;
writeln;
k:=1;
l:=1;
max_a:=a[1];
min_a:=a[1];
for i:=1 to n do
begin
if a[i]>max_a then
begin
max_a:=a[i];
k:=i;
end;
if a[i]<min_a then
begin
min_a:=a[i];
l:=i;
end;
end;
writeln;
textcolor(yellow);
writeln('maximalnuu element v 1 massive pod nomerom (',k,') = ',max_a);
writeln('minimalnuu element v 1 massive pod nomerom (',l,') = ',min_a);
writeln;
p:=1;
z:=1;
max_b:=b[1];
min_b:=b[1];
for j:=1 to m do
begin
if b[j]>max_b then
begin
max_b:=b[j];
p:=j;
end;
if b[j]<min_b then
begin
min_b:=b[j];
z:=j;
end;
end;
textcolor(red);
writeln('maximalnuu element vo 2 massive pod nomerom (',p,') = ',max_b);
writeln('minimalnuu element vo 2 massive pod nomerom (',z,') = ',min_b);
writeln;
textcolor(green);
writeln('rezyltat delenia v 1 sly4ae = ',max_a/n:4:3);
writeln('rezyltat delenia vo 2 sly4ae = ',max_b/m:4:3);
readln;
end.
Даны массивы а(4,6) и в(5,6). Найти среднее значение каждой строки в этих массивах, используя подпрограмму.
Program Procedur_1;
uses crt;
type mas=array[1..10, 1..10] of integer;
var a:mas;
n,m,i,j,sum,k,x,y:integer;
sr:real;
Procedure Vvod(c,b:integer);
begin
randomize;
for i:=1 to c do
begin
for j:=1 to b do
a[i,j]:=random(20);
end;
end;
Procedure Vivod(c,b:integer);
begin
for i:=1 to c do
begin
for j:=1 to b do
write(a[i,j]:4);
writeln;
end;
end;
Procedure Obrabotka(c,b:integer);
begin
for i:=1 to c do
begin
sum:=0;
k:=0;
for j:=1 to b do
begin
sum:=sum+a[i,j];
k:=j;
end;
writeln('summa elementov v (',i,') stroke = ',sum);
writeln('koli4estvo elementov = ',k);
writeln('srednee zna4enie elementov (',i,') stroku = ',sum/k:4:2);
readln;
end;
end;
begin
clrscr;
write('strok = ');
readln(n);
write('stolbcov = ');
readln(m);
Vvod(n,m);
Vivod(n,m);
Obrabotka(n,m);
readln;
clrscr;
write('strok=');
readln(x);
write('stolbcov=');
readln(y);
Vvod(x,y);
Vivod(x,y);
Obrabotka(x,y);
readln;
end.
Найти макс. и мин. значения по строкам в трех массивах. Вывести эти значения в отдельных массивах.
Program q;
Uses crt;
Type mas=array[1..10,1..10] of integer;
Var A1,A2,A3,B1,B2,B3:mas;
m1,m2,m3,n1,n2,n3,i,j,min,max:integer;
Procedure Vvod(c,d:integer;var e,f:mas);
Begin
For i:=1 to c do begin
min:=32767; max:=-32768;
For j:=1 to d do begin
Write('A[',i,',',j,']=');
Readln(e[i,j]);
If min>e[i,j] then min:=e[i,j];
If max<e[i,j] then max:=e[i,j];
End;
F[i,1]:=min;
F[i,2]:=max;
End;
End;
Procedure Vivod(c,d:integer;e,f:mas);
Begin
For i:=1 to c do begin
For j:=1 to d do
Write(e[i,j]:5);
Writeln;
End;
End;
Procedure MM(c:integer;f:mas);
Begin
Write('Minimumi');
For i:=1 to c do
Write(F[i,1]:9);
Writeln;
Write('Maximumi');
For i:=1 to c do
Write(F[i,2]:9);
Writeln;
End;
Begin
Clrscr;
Write('strok=');
Readln(m1);
Write('stolbcov=');
Readln(n1);
Vvod(m1,n1,A1,B1);
Vivod(m1,n1,A1,B1);
MM(m1,B1);
readln;
clrscr;
Write('strok=');
Readln(m2);
Write('stolbcov=');
Readln(n2);
Vvod(m2,n2,A2,B2);
Vivod(m2,n2,A2,B2);
MM(m2,B2);
readln;
clrscr;
Write('strok=');
Readln(m3);
Write('stolbcov=');
Readln(n3);
Vvod(m3,n3,A3,B3);
Vivod(m3,n3,A3,B3);
MM(m3,B3);
Readln;
End.
Program Procedur_1;
uses crt;
type mas=array[1..10, 1..10] of integer;
var a:mas;
n,m,i,j,sum,k,x,y,q,w:integer;
max,min:integer;
Procedure Vvod(c,b:integer);
begin
randomize;
for i:=1 to c do
begin
for j:=1 to b do
a[i,j]:=random(20);
end;
end;
Procedure Vivod(c,b:integer);
begin
for i:=1 to c do
begin
for j:=1 to b do
write(a[i,j]:4);
writeln;
end;
end;
Procedure Obrabotka(c,b:integer);
begin
for i:=1 to c do
begin
max:=a[1,j];
min:=a[1,j];
for j:=1 to b do
begin
if a[i,j]>max then
max:=a[i,j];
if a[i,j]<min then
min:=a[i,j];
end;
writeln('max element v (',i,') stroke = ',max);
writeln('min element v (',i,') stroke = ',min);
readln;
end;
end;
begin
clrscr;
write('strok = ');
readln(n);
write('stolbcov = ');
readln(m);
Vvod(n,m);
Vivod(n,m);
Obrabotka(n,m);
readln;
clrscr;
write('strok=');
readln(x);
write('stolbcov=');
readln(y);
Vvod(x,y);
Vivod(x,y);
Obrabotka(x,y);
readln;
clrscr;
write('strok=');
readln(q);
write('stolbcov=');
readln(w);
Vvod(q,w);
Vivod(q,w);
Obrabotka(q,w);
readln;
end.
Найти ср.арифмет четных и нечетных в одномерном массиве
Program abc; uses crt; var a:array[1..10] of integer; n,s,k,i,l,f:integer; begin write('введите размерность массива='); readln(n); for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; for i:=1 to n do begin write(a[i]:4); end; writeln; s:=0; k:=0; l:=0; f:=0; for i:=1 to n do if a[i] mod 2 = 0 then begin s:= s+ a[i]; k:=k+1; end else begin
l:=l+a[i]; f:=f+1;
end; writeln('sred arif chet=' ,s/k:2:2,'sred arif nechet=', l/f:2:2 ); end.