50152

Программирование задач с использованием двумерных массивов. Ввод, вывод, упорядочивание

Лабораторная работа

Информатика, кибернетика и программирование

Чтобы описать массив надо сообщить компилятору: сколько в нем элементов какого типа эти элементы как они нумеруются. Пример: Вычислить суммы элементов массива по столбцам Текст программы...

Русский

2014-01-16

53 KB

22 чел.

Лабораторная Работа № 12

Тема: Программирование задач с использованием двумерных массивов. Ввод, вывод, упорядочивание.

Цель: Получение практических навыков  в использовании двумерных массивов - матриц.

Теоретические сведения:

Приступая к выполнению задачи, следует вспомнить, что:

  •  Массив – это фиксированное количество упорядоченных компонент одного типа, снабжённых индексами.
  •  Чтобы описать массив, надо сообщить компилятору: сколько в нем элементов, какого типа эти элементы, как они нумеруются.
  •  Элементы массива нумеруются с нуля.
  •  Доступ к элементу массива осуществляется путем указания индекса (номера) элемента.
  •  Доступ к элементам массива можно осуществлять при помощи указателя.
  •  В инструкции объявления массива удобно использовать именованную константу, объявленную в директиве #define.
  •  Для ввода, вывода и обработки массивов удобно использовать инструкции циклов (for, while).
  •  Типичной ошибкой при использовании массивов является обращение к несуществующему элементу, то есть выход индекса за допустимое значение.

Пример: Вычислить суммы элементов массива по столбцам

Текст программы:

#include<stdio.h>

#conio.h>

#define ROW 3 //кол-во строк

#define COL 4 //кол-во столбцов

void main()

{

int a[ROW][COL]; //массив

int s[COL]; //сумма элементов

int I,j;

puts(“Вводите массив построчно”);

for (i=0; i<ROW ;i++)

{

for(j=0; j<COL; j++)

           scanf(“%i”,&a[i][j]);

}

puts(“Введенный массив”);

for(i=0; i<ROW; i++)

{

for(j=0; j<COL; j++)

 printf(“%i”,a[i][j]);

printf(“\n”);

}

//очистим массив s

for(i=0; i<COL; i++)

s[i]=0;

//обработка 

for (j=0; i<COL ;J++)

for(i=0; j<ROW; i++)

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

for (i=0; i<COL; i++)

printf(“%i”,s[i]);

getch();

}//main

Варианты заданий:

Осуществить ввод массива с клавиатуры и выполнить задание своего варианта:

Вариант

Массив

Задание

Условия

1

A(10,15)

Вычислить и запомнить сумму и число положительных элементов каждого столбца матрицы. Результаты отпечатать в виде 2-х строк

AIJ>0

2

A(N,M)

Вычислить и запомнить суммы и числа элементов каждой строки матрицы. Результат отпечатать в виде 2-х столбцов

N≤20 M≤15

3

B(N,N)

Вычислить сумму и число элементов матрицы, находящихся под главной диагональю и на ней

N≤12

4

C(N,N)

Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю

CIJ>0 N≤12

5

D(K,K)

Записать на место отрицательных элементов матрицы нули и вывести ее на печать в общепринятом виде

K≤10

6

D(10,10)

Записать на место отрицательных элементов матрицы нули, а наместо положительных – единицы. Вывести на печать нижнюю треугольную матрицу в общепринятом виде

-

7

F(N,M)

Найти в каждой строке матрицы максимальный и минимальный элементы  и вывести их в виде 2-х столбцов

N≤20 M≤10

8

F(10,8)

Транспонировать матрицу и вывести на печать элементы ее главной диагонали и ее саму в общепринятом виде

-

9

N(10,10)

Для целочисленной матрицы найти для каждой строки число элементов кратных 5 и наибольший из полученных результатов

 

10

N(10,10)

Из положительных элементов матрицы N сформировать матрицу M и распечатать ее в общепринятом виде.

-

11

P(N,N)

Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали. Отпечатать полученную матрицу в общепринятом виде

N≤15

12

R(K,N)

Найти наибольший и наименьший элементы матрицы и поменять их местами  

K≤20 N≤10

13

S(25,8)

Вычислить среднее арифметическое каждой строки и записать результаты в одномерный массив и найти максимальный его элемент

-

14

T(N,M)

Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов

N≤20 M≤15

15

V(15,10)

Упорядочить по возрастанию элементы каждой строки матрицы и отпечатать полученную матрицу в общепринятом виде

-

Контрольные вопросы:

  1.  Что понимается под массивом?
  2.  Как описываются массивы в разделе переменных?
  3.  Как организуется ввод массива в программе?
  4.  Как организуется вывод массива в программе?
  5.  Какие операции разрешены над элементами массива?

Содержание отчета:

  1.  Краткие теоретические сведения.
  2.  Схемы алгоритмов.
  3.  Тексты составленных программ.
  4.  Протоколы к составленным программам.
  5.  Вывод о проделанной работе.


 

А также другие работы, которые могут Вас заинтересовать

13124. ӘЛКЕЙ МАРҒҰЛАННЫҢ ПЕДАГОГИКАЛЫҚ ҚЫЗМЕТТЕРІ 40.5 KB
  ӘЛКЕЙ МАРҒҰЛАННЫҢ ПЕДАГОГИКАЛЫҚ ҚЫЗМЕТТЕРІ С. Сұрағанов Л.Н.Гумилев атындағы Еуразиялық ұлттық университеті Астана қ. Ғұлама ғалым Әлкей Хақанұлы Марғұланның тікелей оқытушылық қызметпен айналысқанын көрсететін бірнеше нақты мәліметтер бар. Әлкей 1915 жылы Ба...
13125. Әл-Фараби еңбектеріндегі халықтық педагогика мәселелері 55.5 KB
  ӘлФараби еңбектеріндегі халықтық педагогика мәселелері Халықтық педагогикалық құбылыстарды зерттеушілер ресми педагогика мен халық педагогикасының бірінбірі толықтыратын кеңейтіп отыратын өзара ықпалы мен өзара шарттастығын дәлелді ашып түсіндіреді. Егер рес...
13126. Әулие ата - Жамбыл өңіріндегі оқу-ағарту ісінің дамуы мен ерекшеліктері 43 KB
  ӘУЛИЕ–АТА МЕН ЖАМБЫЛ ОБЛЫСЫНДАҒЫ ОҚУ–АҒАРТУ ІСІНІҢ ДАМУ ЕРЕКШЕЛІКТЕРІ Э.Қайырбаева А.Мейірбекова Керімбай атындағы №12 мектепресурстық орталығыТараз қ. Араға жарты ғасыр салып өлгеніміз тіріліп өшкеніміз жанды жоғымызды қозғап барымызды көрсетуге мүмкін...
13127. Жеке тұлғаны ұлттық құндылықтарға бағыттап оқыту 42 KB
  ӘОЖ 3701: 014.544.018 І 28 ЖЕКЕ ТҰЛҒАНЫ ҰЛТТЫҚ ҚҰНДЫЛЫҚТАРҒА БАҒЫТТАП ОҚЫТУ Ж.Ж. Ізбасарова ТаразҒасыр колледжі Тараз қ. Бүгінгі ғаламдану процесінде ұлттық құндылықтарды сақтау мен өзінің бетбейнесін ізгі дәстүрлерін сақтау жолындағы күрес ұлтты
13128. Жоғары оқу орнында болашақ география мұғалімдерін этнопедагогикалық даярлауды жетілдіру 266.5 KB
  ӘОЖ [371.13:37.013] : 378 Қолжазба құқығында КАДИРБАЕВА ДИДАР АРТЫҚБАЙҚЫЗЫ Жоғары оқу орнында болашақ география мұғалімдерін этнопедагогикалық даярлауды жетілдіру 13.00.08 – Кәсіби білім беру...
13129. Жүсіп Баласағұни еңбектеріндегі халықтық педагогика мәселелері 44 KB
  Жүсіп Баласағұни еңбектеріндегі халықтық педагогика мәселелері Ж.БАЛАСАҒҰНИДЫҢ ізімен немесе одан тәуелсіз қорытындылар арқылы ғылымның және білімнің маңыздылығы мен пайдалылығы идеясын Махмұд Қашғари Ахмет Жүйнеки Қожа Ахмет Яссауи Имад аддин Әбул Қасым ӘлФ...
13130. Стандартные модули и модульная структура приложений в VB 343.32 KB
  Тема 5.1. Лабораторная работа Стандартные модули и модульная структура приложений в VB Цель данной лабораторной работы состоит в изучении средств приемов и получении практических навыков разработки написания и отладки проектов использующих несколько форм закр...
13132. Теоретические основы объектно-ориентированного программирования 258 KB
  Лабораторная работа по теме Тема 5.2. Теоретические основы объектноориентированного программирования Цель данной лабораторной работы состоит в изучении основных понятий объектноориентированной технологии и получении практических навыков разработки объектно...