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


 

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

82251. Объективное и субъективное время. Социальное и культурно-историческое время 32.58 KB
  Социальное и культурноисторическое время. В наст вр отмечает Микешина происходит концептуальная революция наука вновь открывает для себя время. В текстах проявляются и формируются и проявляются представления о времени социсторическое время.
82252. Переосмысление категорий пространства и времени в гуманитарном контексте (М.М. Бахтин). Введение понятия хронотопа как конкретного единства пространственно-временных характеристик 32.05 KB
  Бахтин. В гуманитарном познании Бахтина П и В проявляются как совершенно новая идея. Зная идеи о П и В Канта и Бергсона Бахтин находит свое видение этих категорий значимое для современного понимания природы темпоральности и пространственности в познании. Бахтин соединяет действующее сознание и все мыслимые пространственные и временные отношения в единый центр архетектоническое целое.
82253. Коммуникативность (общение учёных) как условие создания нового социально-гуманитарного знания и выражение социально –культурной природы научного познания 34.79 KB
  Нормальная фаза. Эта фаза в истории специальности конструируется ретроспективно только в тех случаях когда новая специальность сформировалась. Нормальная фаза часто завершается опубликованием манифеста в котором содержатся в общих чертах программа разработки проблематики и оценки ее перспективности. Фаза формированиям развития сети характеризуется интеллектуальными и организационными сдвигами приводящими к объединению исследователей в единой системе коммуникаций.
82254. Научные конвенции как необходимость и следствие коммуникативной природы познания 308.25 KB
  Проблемы общения в науке Интерес к структуре формальным моделям диалога и их содержательным возможностям возродившийся в семидесятых годах постепенно привел к формированию такого направления логико-методологических исследований которое со временем получает название...
82255. Рождение знания в процессе взаимодействия коммуницирующих индивидов. Распространение и борьба научных идей. Индоктринация 32.16 KB
  Важную роль в развитии социальногуманитарных науках играет коммуникация ученых диалог между ними. Механизмом их преодоления является постоянный диалог ученых представителей разных школ в социальногуманитарных науках. Диалог является важнейшим видом коммуникации и представляет собой попеременный обмен высказываниями репликами между двумя или более ученымигуманитариями. Диалог может представлять собой определенную дискуссию беседу диспут и т.
82256. Рациональное, объективное, истинное в социально-гуманитарных науках 28.02 KB
  Социальное познание является частным видом научного познания подчиняющимся его критериям и законам. Социальное познание неразрывно связано с предметными справедливо несправедливо добро зло субъективными установки взгляды нормы цели ценностями на основе которых осуществляется познание объекта. Таким образом социальное познание объективно так как изучение объекта общества на определенном этапе развития происходит на основе объективных критериев и законов характерных для научного познания в целом. Социальное познание рационально...
82257. Классическая и неклассическая концепция истины. Экзистенциальная истина, истина и правда 39.28 KB
  Стержень классической концепции истины принцип соответствия знания действительности. Исследования показали возможность применения классической концепции истины к любым мыслимым мирам но в этом случае она должна быть уточнена следующим образом. Для классической концепции истины характерны следующие принципы: действительность не зависит от мира знания; между нашими мыслями и действительностью можно установить однозначное соответствие; существует критерий установления соответствия мыслей действительности; сама теория соответствия...
82258. Проблемы истины в свете практичкского применения. Плюрализм и социологическое требование отсутствия монополии на истину 38.38 KB
  Так что же такое истина Имеются разные понимания истины. Вот некоторые из них: Истина это соответствие знаний действительности; Истина это опытная подтверждаемость; Истина это свойство самосогласованности знаний; Истина это полезность знания его эффективность; Истина это соглашение. Первое положение согласно которому истина есть соответствие мыслей действительности является главным в классической концепции истины.
82259. Объяснение и понимание как следствие коммуникативности науки. Природа и типы объяснений. Объяснение как функция теории и её результат 37.73 KB
  Понимание нельзя смешивать с тем что называют озарением инсайтом интуицией хотя все это есть в процессе понимания. Наряду с описанием объяснением истолкованием интерпретацией понимание относится к основным процедурам функционирования научного знания. Поэтому понимание не следует отождествлять с познанием понять значит выразить в логике понятий или смешивать с процедурой объяснения хотя они и связаны между собой.