Одномерные массивы. Организация ввода и вывода данных

Автор работы: Пользователь скрыл имя, 13 Ноября 2010 в 18:25, Не определен

Описание работы

решение задач с массивами

Файлы: 1 файл

Одномерные массив1.doc

— 238.50 Кб (Скачать файл)

         x2:=(-b-sqrt(D))/(2*a);

Writeln('pervii koren yravneniya=',x1:1:1);

Writeln('vtoroi koren yravneniya=',x2:1:1);

    Writeln('Vvedite massiv');

For i:=1 to 5 do Readln(m[i]);  p:=0;

For i:=1 to 5 do

    If x1=m[i] then

       p:=i;

    if p<>0 then Writeln (' ',x1:1:1,' est v massive'); end else

                      Writeln(' ',x1:1:1,' net v massive'); 

For i:=1 to 5 do If x2=m[i] then p:=i;

    if p<>0 then begin  Writeln ('',x2:1:1,' est v massive');end else

                      Writeln(' ',x2:1:1,' net v massive'); 

Readln;End. 

Вариант 12.

Задание 14.

Дан массив из 10 чисел, отсортируйте его. Найдите в  нем контрольное число. Все элементы после контрольного числа заменить на их квадраты. 

Рrogram p1;

Uses crt;

Var a:array[1..10] of integer;

c,b,i,j,t:integer;

Begin

ClrScr;

Writeln('vvedite 10 chisel');

For i:=1 to 10 do ReadLn(a[i]);

For j:=1 to 10 do

Begin

t:=j;

for i:=j to 10 do

If a[i]<a[t] then t:=i;

b:=a[t];

a[t]:=a[j];

a[j]:=b;

End;

Write('vvedite kontrolnoe chislo b=');

Readln(b);

a[t]:=0;

for i:=t+1 to 10 do

a[i]:=sqr(a[i]); 

For i:=1 to 10 do

if a[i]=b then c:=i;

If c=0 then

Writeln('a[',i,']=',a[i]); Readln; End.

Задание 15.

Напишите программу, которая вводит с клавиатуры 30 целых  чисел, определяет среднее арифметическое первых  десяти чисел, вторых десяти и последних десяти. После этого  определяется максимальное и минимальное  среднее арифметическое и выводится  сообщение.

Program p2;

Uses crt;

Var a:array[1..30]of integer;

i,max,min:integer;

s,sa[1],sa[2],sa[3]:real;

Begin

Writeln('vvedite massiv');

for i:=1 to 30 do Readln(a[i]); 

Begin

for i:=1 to 10 do

s:=s+a[i];

sa[1]:=s/10;

Writeln('srednee arifmeticheskoe pervih 10 chisel=',sa[1]:2:2); 

for i:=11 to 20 do

s:=s+a[i];

sa[2]:=s/10;

Writeln('srednee arifmeticheskoe vtorih 10 chisel=',sa[2]:2:2); 

for i:=21 to 30 do

s:=s+a[i];

sa[3]:=s/10;

Writeln('srednee arifmeticheskoe tretih 10 chisel=',sa[3]:2:2);

End; 

max:=sa[1];

for i:=1 to 3 do

if sa[i]>max then

Begin

max:=sa[i];

End; 

min:=a[1];

for i:=1 to 3 do

if sa[i]<min then

Begin

min:=sa[i];

End; 
 
 
 
 
 
 

Двумерные массивы. Организация ввода и вывода. 
 
 
 

Задание 16.

Организовать  два массива a[i] и b[i] целых чисел. Окружность задана уравнением (х-1)2+(у+2)2=16. Среди соответствующих пар (a[i], b[i]) вывести те, которые являются координатами внешних точек окружности. 

Program p3;

Uses crt;

Var a:array[1..10]of integer;

    b:array[1..10]of integer;

    i:integer;

    x,y:real;

Begin

ClrScr;

Writeln('Vvedite massiv a');

For i:=1 to 10 do Readln(a[i]);

Writeln('Vvedite massiv b');

For i:=1 to 10 do Readln(b[i]);

Writeln(' koordinati vneshnih tochek okrugnosti (x-1)^2+(y+2)^2');

For I:=1 to 10 do

If Sqr(a[i]-1)+Sqr(b[i]+2)>16 then

Writeln('[',a[i],',',b[i],']');

 Readln;

End. 
 

Задание 17.

Дана функция  Z=6x2+7y. Организовать двумерный массив, значений функции Z от индексов i, j.

а)Определить максимум, минимум функции;

б) Найти среднее  арифметическое.

Program p1;

Uses crt;

Var z:array[1..3,1..3] of integer;

i,j,min,max:integer;

sa,s:real;

Begin

ClrScr;

for i:=1 to 3 do

For j:=1 to 3 do

Begin

z[i,j]:=6*Sqr(i)+7*j;

Writeln('z[',i,',',j,']=',z[i,j]); End;

max:=z[1,1];

for i:=1 to 3 do

For j:=1 to 3 do

If z[i,j]>max then

max:=z[i,j];

writeln('maksimalnoe znachenie=',max);

min:=z[1,1];

for i:=1 to 3 do

For j:=1 to 3 do

If z[i,j]<min then

min:=z[i,j];

writeln('Minimalnoe znachenie=',min);

For i:=1 to 3 do

For j:=1 to 3 do

s:=s+z[i,j];

sa:=s/9;

Writeln('srednee arifmeticheskoe=',sa:2:2);

Readln;

End. 

Задание 17.

Дана матрица  целых чисел размером 5х6 (random). Отсортировать каждую строку матрицы по возрастанию. Вывести матрицу до и после обработки. 

Program p2;

Uses crt;

Var a: array[1..5,1..6] of integer;

i,j,n,t:integer;

Begin

ClrScr;

Randomize;

For i:=1 to 5 do

For j:=1 to 6 do a[i,j]:=random(50);

For i:=1 to 5 do begin

For j:=1 to 6 do Write(a[i,j]:3);

Writeln;

End;

Writeln;

For i:=1 to 5 do

For n:=1 to 5 do

For j:=1 to 5 do

If a[i,j]>a[i,j+1] then

Begin

t:=a[i,j];

a[i,j]:=a[i,j+1];

a[i,j+1]:=t;

End;

For i:=1 to 5 do

Begin

For j:=1 to 6 do

Write(a[i,j]:3);

Writeln;

End;

Readln;

end. 
 

Задание 18.

Дана матрица целых чисел размером 3х5. Заменить все положительные элементы на 5, все отрицательные на 3, все нули на нуль. 

Program p3;

Uses crt;

Var a:array[1..3,1..5] of integer;

i,j:integer;

Begin

ClrScr;

Writeln('vvedite elementi massiva');

For i:=1 to 3 do

for j:=1 to 5 do Read(a[i,j]);

For i:=1 to 3 do

For j:=1 to 5 do

Begin 

If a[i,j]>0 then a[i,j]:=5;

If a[i,j]<0 then a[i,j]:=3  end;

For i:=1 to 3 do begin

For j:=1 to 5 do

Write(a[i,j]:2);

Writeln;End;

readln;

End. 

Задание 19.

Даны две матрицы А и В размером 4х4. Вычислить и вывести на экран матрицу С=А+В. Найти сумму элементов матрицы С, кратных 3, но не кратных 2. 

Program p4;

Uses crt;

Var A,B,C:array[1..4,1..4] of integer;

i,j,sum:integer;

begin

ClrScr;

Writeln('vvedite elementi massiva A');

For i:=1 to 4 do

For j:=1 to 4 do Read(A[i,j]);

Writeln('vvedite elementi massiva B');

For i:=1 to 4 do

For j:=1 to 4 do Read(B[i,j]);

Writeln;

For i:=1 to 4 do

For j:=1 to 4 do

C[i,j]:=A[i,j]+B[i,j];

Write('C[i,j]=',C[i,j]);

for i:=1 to 4 do

For j:=1 to 4 do

Writeln(c[i,j]);

for i:=1 to 4 do

For i:=1 to 4 do

For j:=1 to 4 do

If (C[i,j] mod 3=0) and (c[i,j] mod 2<>0)  then

sum:=sum+c[i,j];

Writeln('symma elementov matrici C=',sum:2);

For i:=1 to 4 do

For j:=1 to 4 do

Writeln('C[',i,', ',j,']=',C[i,j]); writeln; Readln; End. 

Задание 20.

Даны две матрицы  А и В. Сравнить матрицы поэлементно. Найти количество элементов матрицы  А, больших, чем элементы матрицы  В и наоборот. Сравнить  их. Вывести  сообщение: А>В или В>А. 

Program p5;

Uses crt;

var a,b:array [1..4,1..4] of integer;

i,j,t,k:integer;

Begin

ClrScr; 

Writeln('vvedite elementi matrici a');

For i:=1 to 4 do

For j:=1 to 4 do Read(a[i,j]); 

Writeln('vvedite elementi massiva b');

For i:=1 to 4 do

For j:=1 to 4 do Read(b[i,j]);

For i:=1 to 4 do

For j:=1 to 4 do

Begin

If a[i,j]>b[i,j] then t:=t+1;

If b[i,j]>a[i,j] then k:=k+1;

end;

Writeln('t=',t);

Writeln('k=',k); 

If t>k then Writeln('elementi massiva a bolshe b') else

Writeln('elementi massiva b bolshe a');

If t=k then Writeln('elementi massiva a i b ravni');

 Writeln;

Readln;

End. 

Задание 21.

Организовать  двумерный массив (размерность 3х3). Вывести на экран в виде матрицы. 

Program p1;

Uses crt;

var a:array[1..3,1..3] of integer;

i,j:integer;

Begin

ClrScr;

Writeln('vvedite elementi matrici: a[',i,' ',j,']');

For i:=1 to 3 do

For j:=1 to 3 do

Readln(a[i,j]);

For i:=1 to 3 do begin

For j:=1 to 3 do

Write(a[i,j]:3);

Writeln;end;

Readln;

End. 

Задание 22.

Дана матрица 4х3 целых чисел. Найти сумму элементов, сумма индексов которых является:

а) Четным числом;

б) Кратно 3. 

Program P2;

var a:array[1..4,1..3] of integer;

    i,j,S:integer;

Begin

For i:=1 to 4 do

For j:=1 to 3 do

    read(a[i,j]);

For i:=1 to 4 do

for j:=1 to 3 do

   If (i+j) mod 2 =0 then

   S:=S+a[i,j];

Writeln('Summa elementov,sum  indeksov kot chetnaya=',S);

For i:=1 to 4 do

for j:=1 to 3 do

   if (i+j) mod 3 =0 then

   S:=S+a[i,j];

Writeln('Summa el-v,sum indeksov kratna 3=',S);

Readln;

End. 

Информация о работе Одномерные массивы. Организация ввода и вывода данных