Методическая разработка по C++
Рефераты >> Программирование и компьютеры >> Методическая разработка по C++

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

тип_данных имя_массива [ размер массива ];

Используя имя массива и индекс, можно адресоваться к элементам массива:

имя_массива [ значение индекса ]

Значения индекса должны лежать в диапазоне от нуля до величины, на единицу меньшей, чем размер массива, указанный при его описании.

Вот несколько примеров описания массивов:

char name [ 20 ];

int grades [ 125 ];

float income [ 30 ];

double measurements [ 1500 ];

Первый из массивов ( name ) содержит 20 символов. Обращением к элементам массива может быть name [0], name [1], .,name[19].

Второй массив ( grades ) содержит 125 целых чисел. Обращением к элементам массива может быть grades [0],grades [1], .,grades[124].

Третий массив ( incom ) содержит 30 вещественных чисел. Обращением к элементам массива может быть income [0], incom[1], .,income[29].

Четвертый массив (measurements ) содержит 1500 вещественных чисел с двойной точностью. Обращением к элементам массива может быть measurements[0],measurements[1], .,measurements[1499].

/* Программа, иллюстрирующая использование массивов */

/*Файл array.с*/

#include <stdio.h>

#define size 1000

int data [size];

main ( )

{

extern float average (int a[ ], int s );

int i;

for ( i=0; i<size ; i++­_)

data [ i ]­­­­­­­­= i;

printf ( “\nСреднее значение массива data =%f\n”,average (data,size));

}

float average (int a[ ] ,int s )

{

float sum=0.0;

int i;

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

sum+=a[ i ];

return sum/s;

}

В программе заводится массив на 1000 целых чисел. При помощи функции average подсчитывается сумма элементов этого массива. Первым формальным параметром функции average является массив. В качестве второго параметра функции передается число суммируемых значений в массиве a. Обратите внимание на использование константы size (размер). Если изменяется размерность массива, задаваемая этой константой, то это не приводит к необходимости менять что-либо в самом коде программы.

Задание:

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

ИТОГОВЫЕ КОНТРОЛЬНЫЕ ЗАДАНИЯ.

1. Построить 10 вложенных квадратов окрашенных поочередно в зеленый и красные цвета.

2. Получить в центре экрана изображение, состоящее из 10 вложенных квадратов со сторонами 10,20,30, .,100 :

3. Вывести на экран 2 прямоугольника. Один заштриховать

вертикальными прямыми, другой - горизонтальными:

4.Построить прямоугольник со сторонами 30 и 50, центр которого совмещен с центром экрана. Стороны прямоугольника должны быть параллельны сторонам экрана.

5.С помощью рассмотренных графических операторов можно получать на экране изображения, состоящие не целиком из окружностей, а из их частей. Написать программу, выполняющую построение красного полумесяца, а также программы, выполняющие построение фигур, показанных на рисунке (фигуры закрашиваются зеленым цветом).

6.Дано 6 целых чисел, определяющих положение вершин треугольника, расположенного в левой половине экрана. Построить на экране этот треугольник, а также треугольник, симметричный данному относительно вертикальной прямой, проходящей через середину экрана.

7.Четыре целых числа задают положение концов отрезков на экране. Получить изображение этого отрезка и изображение отрезка, центрально-симметричного данному относительно точки, расположенной в центре экрана.

8.Получить в центре экрана изображение, состоящее из 9 вложенных квадратов и раскрасить его 3 цветами.

9.Построить 9 концентрических окружностей, окрашенных поочередно в зеленый, красный и коричневый цвета.

1.Транспонированием квадратной матрицы называется такое ее преобразование, при котором строки и столбцы меняются ролями: i-й столбец становится i-й строкой. Например, транспонирование матрицы:

0 1 2 0 3 6

3 4 5 дает матрицу 1 4 7

6 7 8 2 5 8

Дана квадратная матрица размера n*n.

Получить транспонированную матрицу.

2.Таблица круга футбольного чемпионата, в котором участвовало n команд, задана своей верхней правой частью: первые n чисел данной последовательности С1,С2, . относятся к первой строке таблицы, следующие n-1 чисел - ко второй и т.д. Построить всю таблицу целиком.

3.Шахматную доску будем представлять символьной матрицей размера 8*8. Даны натуральные р и q (1<=p<=8,1<=q<=8)- но 8 мера вертикали и горизонтали, определяющие местоположение ферзя. Соответствующий элемент матрицы надо положить равными символу Ф. Поля, находящиеся под угрозой ферзя, надо положить равными символу *, а остальные поля - символу 0. Строки матрицы вывести одну под другой. Решить аналогичную задачу для коня.

1.Дана действительная матрица (xij) размера m*n; упорядочить (переставить) строки матрицы:

а) по неубыванию сумм элементов строк,

б) по неубыванию наименьших элементов строк,

в) по невозрастанию наибольших элементов.

УКАЗАНИЕ: Определить числовой массив: b1, .,bm, положив равным, соответственно, сумме элементов i-й строки, наименьшему элементу i-й строки, наибольшему элементу i-й строки. Можно вместо массива: b1, .,bm рассмотреть дополнительный столбец x1n+1, x2n+1, .,xmn+1.

2.В данной целочисленной квадратной матрице размером n*n (n-некоторая константа) указать индексы всех элементов, имеющих наибольшее значение.


Страница: