Методическая разработка по 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-некоторая константа) указать индексы всех элементов, имеющих наибольшее значение.