50152

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

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

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

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

Русский

2014-01-16

53 KB

23 чел.

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


 

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

2758. Первоначальные действия по факту пожара 372.67 KB
  Изложены основные вопросы квалификации правонарушений, связанных с пожарами, проведения проверки заявлений и сообщений о происшествиях такого рода, производства по ним неотложных следственных действий. Учтены происшедшие изменения в законодательстве...
2759. Экономическая диагностика предприятия 176.37 KB
  Содержатся теоретические основы, методика и алгоритм диагностики экономического состояния предприятия по данным бухгалтерской отчетности. Приведены формулы для расчета показателей и учета факторов, влияющих на их значения, формы для представления ис...
2760. Рейтинговая оценка финансового состояния, рентабельности и деловой активности предприятия 4.51 MB
  Изучение явлений природы и общественной жизни невозможно без анализа. Сам термин анализ происходит от греческого слова analysis, что в переводе означает разделяю, расчленяю. Понятие о экономическом анализе и его содержание
2761. Автомобильные эксплуатационные материалы 1.5 MB
  Изложены вопросы получения автомобильных топлив, их применение в двигателях внутреннего сгорания. Рассмотрены альтернативные виды топлива, как аналогичные нефтяным, так и отличные от них. Для студентов и преподавателей кафедр, изучающих эксплуатацию автомобильной техники, а также для инженерно-технических работников автотранспортных и авторемонтных предприятий.
2762. Производство алюминия и магния 2.85 MB
  В рамках лабораторного практикума изложены вопросы теории и технологии производства легких металлов на примере наиболее востребованных из них – алюминия и магния. Уделяется внимание знакомству с традиционными способами получения легких металлов...
2763. Административное право России 470.86 KB
  Административное право России является одной из наиболее многогранных и сложных отраслей российского права. Сложность освоения учебного материала по дисциплине Административное право России обусловлена следующими основными фактами: во-первых, адми...
2764. Детали машин. Контрольные задания. Примеры решения 1.26 MB
  Данные методические указания и контрольные задания составлены в полном соответствии с программами курсов Детали машин, Детали машин и основы конструирования и Детали машин и подъемно-транспортные устройства и предназначены студентам всех специальностей заочного факультета, для которых по учебному плану предусмотрены такие курсы.
2765. Анализ наилучшего и наиболее эффективного использования земельного участка в калининском районе Санкт-Петербурга 6.82 MB
  Целью реализации анализируемого проекта является расширение действующего объекта коммерческой недвижимости, повышение его потребительских свойств и конкурентоспособности для увеличения доходов от эксплуатации объекта. Проект предполагает реконструкц...
2766. Проектирование сварных конструкций 2.93 MB
  Конструкции сварные и их проектирование как учебная дисциплина имеет свои задачи - системное формирование у студентов знаний и общих представлений о современном состоянии теоретических основ проектирования сварных конструкций, методах расчета и проектирования сварных конструкций.