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


 

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

37748. Социологическое понимание личности. Структура личности 15.77 KB
  Личность — это совокупность (система) социально значимых качеств, характеризующих индивида как члена того или иного общества, как продукт общественного развития. Это социальная характеристика человека, которая определяется мерой усвоения им социального опыта.
37750. Визначення перехідної і частотної характеристики систем 1.42 MB
  Мета роботи: Набути практичних навичок вивчення перехідної і частотних характеристик системи за їхніми передаточними функціями.
37751. КЛЮЧЕВОЙ РЕЖИМ РАБОТЫ ТРАНЗИСТОРА 136.97 KB
  Во время переходных процессов при переключении из одного статического состояния в другое транзистор работает в нормальном и инверсном активных режимах. ГТ Т1 г 1кн КК нк вых икэ и ч Основными параметрами переходных процессов являются: при включении ТК 1з время задержки и Сф длительность фронта а при выключении 1рас время рассасывания накопленного в базе заряда и 1с длительность среза. Время задержки {з = твх 1п 1 где твх =КбСвх ; 160 ЕБ1 начальное напряжение на Свх. Временные диаграммы работы транзисторного ключа Для...
37752. Исследование интерференционного светофильтра 402 KB
  Зеркала полупрозрачны так что часть света отражается от них R – коэффициент отражения часть поглощается А – коэффициент поглощения а часть проходит Т – коэффициент пропускания. Основные характеристики ИФ: mx – длина волны в максимального пропускания Tmx – максимальный коэффициент пропускания Tmin – минимальный коэффициент пропускания 05 – спектральная полуширина – ширина полосы на уровне 05Tmx 2 – угловая ширина светового пучка К – контраст – отношение максимального и минимального коэффициетов пропускания Т R А = 1 – для...
37755. ГРАДУИРОВАНИЕ ЭЛЕКТРОСТАТИЧЕСКОГО ВОЛЬТМЕТРА С ПОМОЩЬЮ ЭЛЕКТРОМЕТРА ТОМСОНА 157 KB
  ТЧЁТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 13 ГРАДУИРОВАНИЕ ЭЛЕКТРОСТАТИЧЕСКОГО ВОЛЬТМЕТРА С ПОМОЩЬЮ ЭЛЕКТРОМЕТРА ТОМСОНА Цель работы: Градуирование шкалы электростатического вольтметра с помощью абсолютного электрометра Томсона т. Стержень крепится к металлическому корпусу В вольтметра с помощью вмонтированной в него пробки из изоляционного материала. Если такой вольтметр проградуировать то им можно измерять разность потенциалов между любыми двумя проводниками...