Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

инфа / informatika

.docx
Скачиваний:
36
Добавлен:
31.03.2015
Размер:
41.53 Кб
Скачать

Удалить самое длинное слово из строки

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.

Соседние файлы в папке инфа