Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы1_5.doc
Скачиваний:
15
Добавлен:
13.08.2019
Размер:
198.66 Кб
Скачать

Задачи на формирование двумерных массивов.

1. Цель работы

     Целью лабораторной работы является получение практических навыков в работе с двумерными массивами в языке C++.

2. Темы для предварительной проработки

  • Матрицы

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

3.Пример решения задачи

3.1. Задание

Определить номера строк матрицы R[M,N], хотя бы один элемент которых равен с, и элементы этих строк умножить на d.

3.2. Текст программы

#include<conio.h>

#include<iostream.h>

#include<iomanip.h>

#include<stdlib.h>

void main()

{ int i,j,m,n,A[10][10],c,d,B[10];

clrscr();

for(i=0;i<m;i++) B[i]=100;

cout<<"\nVVedite chislo strok m: ";

cin>>m;

cout<<"\nVVedite chislo stolbcov n: ";

cin>>n;

cout<<"\nIshodnaja Matr. "<<endl;

randomize();

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

{ for(j=0; j<n; j++)

{ A[i][j]=rand()%10;

cout<<setw(6)<<A[i][j];

}

cout<<endl;

}

cout<<"\nVVedite chislo dla sravnenia c: ";

cin>>c;

cout<<"\nVVedite mnogitel d: ";

cin>>d;

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

{ for(j=0; j<n; j++)

if(A[i][j]==c)

B[i]=i;

}

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

if(B[i]==i)

{ cout<<"\nNomer stroki:"<<i+1;

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

A[i][j]*=d;

}

cout<<"\n\nNovaja matrica:\n";

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

{ for(j=0; j<n; j++)

cout<<setw(6)<<A[i][j];

cout<<endl;

}

getch();

}

3.3. Тестирование программы

Результат выполнения программы может выглядеть следующим образом:

Введите число строк m: 4

Введите число столбцов n: 5

Исходная матрица:

3 0 2 6 3

5 9 5 8 5

1 1 4 6 2

4 7 1 4 1

Введите число для сравнения с: 1

Введите множитель d: 2

Номер строки: 3

Номер строки: 4

Новая матрица:

3 0 2 6 3

5 9 5 8 5

2 2 8 12 4

8 14 2 8 2

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

Рисование графических примитивов

1. Цель работы

     Целью лабораторной работы является получение практических навыков в работе с функциями точечной графики в языке C++.

2. Темы для предварительной проработки

  • Функции точечной графики

3. Краткие теоретические сведения

Для вывода графических изображений необходимо подключить библиотеку <graphics.h> и произвести инициализацию графического режима с помощью операторов:

int dr = DETECT, mod;

initgraph(&dr, &mod, "D:\\BORLANDC\\BGI");

Для работы с графикой необходимо включить соответствующую опцию в меню: Options\Linker\Library\Graphies library.

Для того, чтобы мы могли что-либо нарисовать на экране, нам нужно уметь задавать положение на экране того, что мы рисуем. Для этого с экраном связывается система координат следующего вида:

(0,0) X

+ --------------------------------------------->

|

|

|

Y|

Каждая точка на экране на самом деле представляет собой очень маленький прямоугольник (и поскольку это не совсем точка, то иногда используют специальный термин - "пиксел"). Количество точек (пикселов), умещающихся на экране по вертикали и горизонтали, называют разрешающей способностью. Разрешающая способность экрана в режиме VGAHi - 640x480. Это означает, что по горизонтали на экране умещается 640 точек, а по вертикали - 480.

Точка в левом верхнем углу экрана имеет координаты (0,0). Координата X любой точки экрана лежит в пределах от 0 до 639, а координата Y - в пределах от 0 до 479.

Для задания цвета рисования прямых, окружностей, точек и пр. используется процедура setcolor. В качестве единственного ее параметра нужно указать целое число, являющееся кодом цвета. Цвета кодируются в соответствии со следующей  кодовой таблицей :

Black

=0

-черный

DarkGray

=8

-темно-серый

Blue

=1

-синий

LightBlue

=9

-голубо

Green

=2

-зеленый

LightGreen

=10

- светло-зеленый

Cyan

=3

-цвет морской волны

LightCyan

=11

-светло-циановый

Red

=4

-красный

LightRed

=12

-розовый

Magenta

=5

-сиреневый

LightMagenta

=13

-светлосиреневый

Brown

=6

-коричневый

Yellow

=14

- желтый

LightGray

=7

-светло-серый

White

=15

-белый

Если Вы хорошо знаете английский язык, то Вам будет удобнее использовать не числа, а соответствующие им идентификаторы; если же Вы английский знаете плохо, то все равно полезнее запомнить английские названия цветов, чем запоминать числа, кодирующие цвета.

23