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.  Вывод о проделанной работе.


 

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

51795. Українська мова у світі 57.5 KB
  Мета: подати інформацію про звучання української мови в світі в Україні та за її межами; формувати відчуття причетності до світового українства й переконаність у тому що доля української мови та зміцнення української державності нерозривно повязані; розвивати логічне мислення увагу память емоційну й естетичну сфери. Він постачав письменникові документи і факти для його відомої праці “Історія Карла ХІІâ€ де в різкій формі було порушено проблему української волі. Великий сатирик Вольтер причину занепаду української найродючішої в...
51796. ЛЕГЕНДИ СВІТОВОЇ РОК - МУЗИКИ 302.5 KB
  формувати вміння відрізняти справжні музичні шедеври від малозмістовних творів з низькими художніми якостями; висловлювати власне судження про творчість рок і поп музикантів звучання музичних творів; розвивати вокально хорові навички слухацьку уяву; розвивати інтерес до різних напрямів поп та рок музики; виховувати естетичний смак учнів ФОРМУВАННЯ КОМПЕТЕНЦІЙ: ТВОРЧОЇ МУЗИЧНОЇ ЖИТТЄВОЇ МУЗИЧНИЙ МАТЕРІАЛ: Е. ТИП УРОКУ: комбінований ХІД УРОКУ Учні...
51799. Требования к кабинету информатики и техника безопасности 30 KB
  Фронтальный опрос В кабинете КВТ должно быть: журнал инструктажа учащихся по охране труда аптечка первой помощи средства пожаротушения журнал отказов машин и их ремонта инвентарная книга размещение КВТ не допускается: в подвальных и цокольных помещениях Площадь на одно рабочее место в КВТ должно быть не менее 60 кв. Экран видеомонитора должен находиться от глаз пользователя на расстоянии: 600 700 мм Непрерывная работа за компьютером для учащихся 25 классов не должна превышать: 15 минут Общая...
51801. Прощання зі школою: зіркова подорож 91 KB
  Під супровід повільної ліричної мелодії розпочинає учитель урок. Учитель: Синее небо усыпано звёздами. Царит торжественно волненье Любовь успех и настоящее везенье Учитель: Я думаю вы обратили внимание на один из кадров тайной съёмки. Учитель: У каждого человека как утверждает легенда два берега от одного человек уплывает к другому непременно причаливает.
51802. Потреби й права споживача. Раціональна поведінка. Оцінка корисності споживчого блага та бюджет корисності 104 KB
  Ціль споживача мати максимальну корисність від споживання товарів і послуг. Споживачу зацікавленому в задоволенні своїх потреб з найменшими витратами обмежених засобів доводиться задумуватися над наступними питаннями: на що в першу чергу витратити свої доходи Споживач оцінює товар або послугу насамперед з погляду їхньої корисності Корисність це суб'єктивне відчуття задоволеності від споживання блага Корисність кожного блага має свої критерії. Наприклад корисність одягу проявляється в розмірі кольорі дизайні; корисність продуктів...
51803. Подготовка учителя к уроку истории 32.5 KB
  Вот почему качество подготовки учащихся по той или иной учебной дисциплине во многом определяется уровнем проведения урока его содержательной и методической наполненностью его атмосферой. Для того чтобы этот уровень был достаточно высоким надо чтобы учитель в ходе подготовки урока постарался сделать его своеобразным произведением со своим замыслом завязкой и развязкой подобно любому произведению искусства. Как же построить такой урок Как сделать так чтобы урок не только вооружал учащихся знаниями и умениями значимость которых...