Массивы в языке Паскаль

Автор работы: Пользователь скрыл имя, 26 Января 2011 в 21:26, курсовая работа

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

Тип данных Массив позволяет одному идентификатору задать несколько значений, которые отличаются порядковым номером. Номер элемента массива указывается после идентификатора в квадратных скобках {M[5] - пятый элемент массива М}. При описании массива указывается диапазон номеров элементов массива и тип, к которому относится каждый его элемент. Массивы могут быть одно-, двух- и многомерными.

Содержание работы

Введение
1. Виды массивов
1.1. Одномерные массивы
1.2. Примеры задач
1.3. Двумерные массивы
1.4. Примеры задач
2. Сортировка массивов
2.1Метод простых обменов (Пузырьковая сортировка)
2.2. Сортировка простым выбором
2.3 Сортировка простым включением (Метод вставки и сдвига)
3. Параметры-массивы и параметры-строки
Список литературы

Файлы: 1 файл

массивы.rtf

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

     uses crt;

     var

     a:array [1..50] of integer;

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

     k,i,m,j,n,r,l:integer;

     begin

     clrscr;

     write('Введите количество строк');

     readln(n);

     write('Введите количество столбцов');

     readln(m);

     for i:=1 to n do

     for j:=1 to m do

     begin

     write('a[',i,']={b[',j,']=}');

     readln(a[i]);

     end;

     for i:=1 to n-1 do

     for k:=i+1 to n do

     {for j:=1 to m do}

     if a[k]>a[i] then

     begin

     r:=a[i];

     a[i]:=a[k];

     a[k]:=r;

     end;

     writeln('Отсортированый массив:');

     for i:=1 to n do

     writeln(a[i]:4);

     readln;

     end. 

     4. Дана квадратная матрица. Транспонировать её. Посчитать сумму всех нечётных элементов транспонированной матрицы. 

     program zadacha_4;

     uses crt;

     var

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

     S,i,j,n,c:integer;

     begin

     clrscr;

     write ('введите кол-во строк и столбцов ');

     readln (n);

     for i:=1 to n do

     for j:=1 to n do

     begin

     write ('a[',i,',',j,']=');

     readln (a[i,j]);

     end;

     for i:=1 to n do

     for j:=i+1 to n do

     begin

     c:=a[i,j];

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

     a[j,i]:=c;

     end;

     S:=0;

     for j:=1 to n do

     for i:=1 to n do

     begin

     if a[j,i] mod 2 <>0 then

     begin

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

     end;

     end;

     writeln ('S=',S);

     readln;

     end.

 

      5. Дан двумерный массив. Посчитать сумму его двух столбцов, вывести большую сумму. 

     program zadacha_5

     uses crt;

     var

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

     i,j,m,n,s,s1,p,p1,max,p3:integer;

     begin

     clrscr;

     write('введите количество строк');

     readln(n);

     write('введите количество столбцов');

     readln(m);

     for i:=1 to n do

     for j:=1 to m do

     begin

     write('a[',i,',',j,']=');

     readln(a[i,j]);

     end;

     begin

     write('введите номер столбца');

     readln(p);

     for i:=1 to n do

     for j:=1 to m do

     if j=p then s:=s+a[i,p];

     write('s=',s);

     readln;

     end;

     s1:=0;

     begin

     write('введите номер другого столбца');

     readln(p1);

     for i:=1 to n do

     for j:=1 to m do

     if j=p1 then s1:=s1+a[i,p1];

     write ('s1=', s1);

     readln;

     end;

     begin

     max:=s;

     if s < s1 then

     begin

     max:=s1;

     write('максимальная сумма',max);

     readln;

     write('вывести на экран номер столбца большей суммы', p3);

     readln(p3);

     end;

     end;

     end.

     end. 

     6. Заполнить матрицу по образцу: 

     0

     0

     0

     0

 

      program zadacha_6;

     uses crt;

     var

     a:array [1..50,1..50] of integer;

     n:integer;

     i,j,k:integer;

     begin

     clrscr;

     write ('Введите количество строк и столбцов в матрице');

     readln (n);

     k:=0;

     for i:=1 to n do

     for j:=1 to n do

     if i=j then

     begin

     a[i,j]:=k;

     k:=k+1;

     end

     else

     begin

     a[i,j]:=0;

     end;

     for i:=1 to n do

     for j:=1 to n do

     begin

     writeln('a[',i,',',j,']=',a[i,j]);

     readln;

     end;

     readln; end.

 

      7. Дана квадратная матрица порядка N. В матрице вычислить среднее арифметическое положительных элементов, стоящих на главной диагонали 

     program zadacha_7;

     uses crt;

     Var

     a:array[1..50,1..50] of integer;{массив}

     i,j:integer;

     s,n,k:integer;

     sr:real;

     begin

     clrscr;

     write('введите кол-во строк');

     readln(n);

     write('введите кол-во столбцов');

     readln(n);

     write ('введите кол-во чисел');

     readln(k);

     for i:=1 to n do

     for j:=1 to n do

     begin

     write('a[',i,',',j,']=');

     readln(a[i,j]);

     end;

     s:=0;

     begin

     for i:=1 to n do

     for j:=1 to n do

     if a[i,j] > 0 then

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

     sr:=s/n;

     end;

     write('sr=',sr);

     readln;

     end. 

     8. Найти сумму всех элементов квадратной матрицы, расположенных по главной диагонали и выше ее. 

     program zadacha_8;

     uses crt;

     var

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

     i,j,s,n: integer;

     begin

     clrscr;

     writeln ('введите количество строк и столбцов: ');

     readln (n);

     for i:=1 to n do

     for j:=1 to n do

     begin

     write('a[',i,',',j,']=');

     readln (a[i,j]);

     end;

     for i:=1 to n do

     for j:=i+1 to n do

     begin

     if j>=i then

     begin

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

     end;

     end;

     writeln('s=',s);

     readln;

     end. 

     9. Дана вещественная матрица размерности n*m. Удалить k столбец матрицы. 

     program zadacha_9;

     uses crt;

     var

     a: array [1..100,1..100] of real;

     b: array [1..100,1..100] of real;

     i,j: integer; {переменные счётчики}

     n,m: integer; {количество строк и столбцов в массиве}

     k: integer; {№ строки которую необходимо удалить}

     begin

     clrscr;

     write ('Введите количество строк в массиве');

     readln (n);

     write ('введите количество столбцов в массиве');

     readln (m);

     write ('Введите № строки которую надо удалить');

     readln (k);

     randomize; {ввод массива случайных чисел}

     for i:=1 to n do

     for j:=1 to m do

     begin

     a[i,j]:=random(100);

     end;

     for i:=1 to n do

     for j:=1 to m do

     begin

     writeln ('a[',i,',',j,']=',a[i,j]);

     end;

     writeln ('Новый массив');

     for i:=1 to n do

     for j:=1 to m do

Информация о работе Массивы в языке Паскаль