Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Двумерный массив.

Двумерные массивы

Подготовил:

Студент 2 курса

группы «ИНФ 14-2»

Попов Максим

Проверила:

Водолазкина Н.А.

Алматы, 2015

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

Тема работы: Двумерные массивы

Цель работы: Освоение навыков работы с двумерными массивами: описание массивов, ввод и вывод элементов массива, использование массивов как параметров подпрограмм, использование указателей при работе с массивами.

Оборудование рабочего места:

· компьютер с загруженной программной средой Borland C Builder.

Общие сведения:

Двумерный массив.

Многомерные массивы объявляются в программе так:

тип имя_массива [размер1][размер2] … [размерN];

Например, двумерный массив можно объявить следующим образом:

int A2 [10][3];

Этот оператор описывает двумерный массив, состоящий из 10 строк и 3 столбцов.

Доступ к элементам массива осуществляется через индексы, каждый из

которых заключается в квадратные скобки. Например, А2[3][2] – значение эле-

мента, лежащего на пересечении четвертой строки и третьего столбца (помни-

те, что индексы начинаются с 0).

2. Инициализация массивов

В языке С существует несколько возможностей для задания начальных

значений элементов массива. Самый простой способ инициализации следую-

щий: в процессе объявления массива можно указать в фигурных скобках список начальных значений:

int a[3][5]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};

int a[3][5]={{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}};

Последние две записи эквивалентны. Количество инициализаторов не обязано совпадать с количеством элементов массива. Если инициализаторов меньше, то оставшиеся значения элементов массива не определены.

Инициализации

int a[3][5]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};

и

int a[3][5]={{1, 2, 3}, {4, 5, 6, 7, 8}, {9, 10, 11}};

различны. Соответствующие массивы будут заполнены следующим образом:

В первом случае
         
         
         

 

Во втором случае
         
         
         

 

 

Персональное задание:

Задан двумерный целочисленный массив А из N строк и N столбцов. Заменить элементы главной диагонали суммой наибольшего и наименьшего элементов.

Переводим блок-схему на язык С++Builder

#include < vcl.h>

#pragma hdrstop

#include < iostream>

#include < math.h>

#include < cstdlib>

using namespace std;

 

//----------------------------------------------------------

 

#pragma argsused

int main(int argc, char* argv[])

{

int A[20][20], N, i, j, max, min, b;

cout< < " Vvedite razmer massiva: ";

cin > > N;

cout< < endl< < " Massiv A: " < < endl;

randomize();

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

{

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

{

A[i][j]=rand()%100;

cout< < A[i][j]< < " ";

}

cout< < endl;

}

max=A[0][0];

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

{

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

{

if (A[i][j]> max)

max=A[i][j];

}

}

cout< < endl< < " Max. element v massive: " < < max< < endl;

min=A[0][0];

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

{

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

{

if (A[i][j]< min)

min=A[i][j];

}

}

cout< < " Min. element v massive: " < < min< < endl;

b=max+min;

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

{

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

{

if (i==j)

A[i][j]=b;

}

}

cout< < endl< < " New massiv: " < < endl;

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

{

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

{

cout< < A[i][j]< < " ";

}

cout< < endl;

}

system(" pause");

return 0;

}

 

 

Результат выполнения программы:

 

<== предыдущая лекция | следующая лекция ==>
Приложение 1. | Роль, задачи и функции трудового права.




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.