Кабинет Информатики - Алгоритмы формирования одномерного массива

Кабинет Информатики

Пятница, 26.04.2024, 17:37
Меню сайта
Наш опрос
Для чего нужно портфолио?
Всего ответов: 179
Новости...
Конкурсы
Позитивный контент-2017

Конкурсы для педагогов: Серая цапля
Победитель Общероссийского рейтинга школьных сайтов
Знак качества Просвещения

Фонд 21 века
Рейтинг образовательных сайтов mega-talant.com
Эволюция - бесплатные конкурсы для педагогов и школьников
Фонд 21 века
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Besucherzahler
счетчик посещений
доступность сайта Среднее и дошкольное образование

Проголосуй за наш сайт
Каталог webplus.info
Форма входа

Обработка массивов

Двумерные массивы

Алгоритмы формирования одномерного массива

Задача 1. Дан двумерный массив размерностью 5х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого соответственно равен сумме элементов строк. Оба массива вывести на экран.

 USES Crt;
 VAR
   H:ARRAY[0..5,0..6] OF INTEGER;   K:ARRAY[0..5] OF INTEGER;  
   I,J:BYTE;   S:INTEGER;
 BEGIN
   ClrScr;   Randomize;
   { Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }
   WriteLn(' Значения двумерного массива');
   FOR I:=1 TO 5 DO Begin
     FOR J:=1 TO 6 DO Begin
       H[I,J]:=Random(23);  Write(H[I,J]:3);
     End;     WriteLn;
   End;   WriteLn;
   { Нахождение суммы элементов строк и заполнение одномерного массива }
   WriteLn(' Значения одномерного массива');
   FOR I:=1 TO 5 DO Begin
     S:=0;
     FOR J:=1 TO 6 DO
       S:=S+H[I,J];     
     K[I]:=S;     Write(K[I]:4);
   End;
 END.

Задача 2. Дана квадратная матрица порядка n, заполненная целыми числами. Получить одномерный массив, элементами которого являются первый положительный элемент соответствующей строки матрицы.

 USES Crt;
 LABEL   M1;
 CONST   N=5;
 VAR
   H:ARRAY[0..N,0..N] OF INTEGER;   B:ARRAY[0..N] OF INTEGER;
   I,J:BYTE;
 BEGIN
   ClrScr;   Randomize;
   { Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }
   WriteLn(' Значения элементов двумерного массива');
   WriteLn;
   FOR I:=1 TO N DO Begin
     FOR J:=1 TO N DO Begin
       H[I,J]:=Random(25)-10;  Write(H[I,J]:3);
     End;     WriteLn;
   End;   WriteLn;
   WriteLn(' Значения первых положительных элементов соответствующих строк');
   WriteLn;
   FOR I:=1 TO N DO Begin
     FOR J:=1 TO N DO
       IF H[I,J]>0 THEN Begin  B[I]:=H[I,J];   GOTO M1;   End;
     M1: Write(B[I]:3);
   End;
 END.

Задача 3. Дан двумерный массив размерностью NхM, заполненная целыми числами. Получить одномерный массив, элементами которого являются сумма первого и последнего элементов соответствующих строк двумерного массива.

 USES Crt;
 CONST   N=5;   M=7;
 VAR
   A:ARRAY[0..N,0..M] OF INTEGER;   B:ARRAY[0..N] OF INTEGER;
   I,J:BYTE;
 BEGIN
   ClrScr;   Randomize;
{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }
   WriteLn(' Значения элементов двумерного массива');
   WriteLn;
   FOR I:=1 TO N DO Begin
     FOR J:=1 TO M DO Begin
       A[I,J]:=Random(30);    Write(A[I,J]:3);
     End;     WriteLn;
   End;   WriteLn;
   WriteLn(' Cумма первого и последнего элементов соответствующих строк');
   WriteLn;
   FOR I:=1 TO N DO Begin
     B[I]:=A[I,1]+A[I,M];     Write(B[I]:3);
   End;
 END.

Задача 4. Дан двумерный массив размерностью 5х6, заполненный целыми числами. Сформировать одномерный массив каждый элемент которого равен произведению чётных положительных элементов соответствующего столбца.

 USES Crt;
 VAR
   M:ARRAY[0..5,0..6] OF INTEGER;   F:ARRAY[0..6] OF INTEGER;
   I,J:BYTE;   P:LongInt;
 BEGIN
   ClrScr;   Randomize;
   { Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }
   WriteLn(' Значения элементов двумерного массива');
   FOR I:=1 TO 5 DO Begin
     FOR J:=1 TO 6 DO Begin
       M[I,J]:=Random(20)-5;   Write(M[I,J]:3);
     End;     WriteLn;
   End;   WriteLn;
   { Формирование одномерного массива}
   WriteLn(' Значения элементов одномерного массива');
   FOR J:=1 TO 6 DO Begin
     P:=1;
     FOR I:=1 TO 5 DO
       IF (M[I,J]>0) AND (M[I,J] mod 2 =0) THEN P:=P*M[I,J];
     IF P=1 THEN F[J]:=0 ELSE F[J]:=P;
     Write(F[J]:4);
   End;
 END.

Задача 5. Дан двумерный массив размерностью 4х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен количеству элементов соответствующей строки, больших данного числа N.

 USES Crt;
 VAR
   A:ARRAY[0..4,0..6] OF INTEGER;   G:ARRAY[0..6] OF INTEGER;
   I,J,K:BYTE;   N:INTEGER;
 BEGIN
   ClrScr;   Randomize;
   { Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }
   WriteLn(' Значения элементов двумерного массива');
   FOR I:=1 TO 4 DO Begin
     FOR J:=1 TO 6 DO Begin
       A[I,J]:=Random(45);    Write(A[I,J]:3);
     End;     WriteLn;
   End;   WriteLn;
   Write(' Введите значение числа  ');   ReadLn(N);
   { Формирование одномерного массива}
   WriteLn(' Значения элементов одномерного массива');
   FOR I:=1 TO 4 DO Begin
     K:=0;
     FOR J:=1 TO 6 DO
       IF A[I,J] > N THEN K:=K+1;
     G[I]:=K;     Write(G[I]:2);
   End;
 END.

Задача 6. Дан двумерный массив размерностью 4х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен количеству отрицательных элементов, кратных 3 или 5, соответствующей  строки.

 USES Crt;
 VAR
   A:ARRAY[0..4,0..5] OF INTEGER;   G:ARRAY[0..6] OF INTEGER;
   I,J,K:BYTE;
 BEGIN
   ClrScr;   Randomize;
   { Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }
   WriteLn(' Значения элементов двумерного массива');
   FOR I:=1 TO 4 DO Begin
     FOR J:=1 TO 5 DO Begin
       A[I,J]:=Random(45)-20;   Write(A[I,J]:3);
     End;     WriteLn;
   End;   WriteLn;
   { Формирование одномерного массива}
   WriteLn(' Значения элементов одномерного массива');
   FOR I:=1 TO 4 DO Begin
     K:=0;
     FOR J:=1 TO 5 DO
       IF (A[I,J] < 0) AND ((A[I,J] mod 3=0) OR (A[I,J] mod 5 =0)) THEN K:=K+1;
     G[I]:=K;   Write(G[I]:2);
   End;
 END.
.....................................................................................................................................
Практические задания
.....................................................................................................................................

  1. Дан двумерный массив размерностью 6х5, заполненный целыми числами, введенными с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен  первому четному элементу соответствующего столбца, если такого нет, то равен нулю.
  2. Дан двумерный массив размерностью 5х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен  произведению четных положительных элементов соответствующего столбца.
  3. Дана квадратная матрица размерностью NхN, заполненная целыми числами и величина А. Сформировать одномерный массив, каждый элемент которого равен элементу, расположенному на главной диагонали , умноженному на величину А .
  4. Дан двумерный массив размерностью 6х8, заполненный целыми числами, введенными с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен  количеству элементов соответствующих строк матрицы, значения которых находятся в интервале( -2, 10). 
Поиск
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930


Социальные сети
Официальная группа в ВК Официальная группа в ОК Официальная группа в Телеграм
Портфолио


Год семьи
Год культурного наследия народов России
Перепись населения-2021
Школьник помнит
Полезные ссылки
  • Учительский портал
  • Педсовет.ORG
  • Дневник.ру
  • ProШколу.ru
  • Pedsovet.su
  • Завуч.инфо
  • Методисты.ру
  • Методсовет
  • УчМет
  • ИнформатикУрок
  • Менеджер образования
  • Сеть творческих учителей
  • Сообщество учителей ИКТ


  • Узнай свой IP адрес
    Перечень олимпиад на 2022-2023 учебный год







    Портал о суевериях, поверьях и приметах народов России