Хелпикс

Главная

Контакты

Случайная статья





<тип><имя>[ <размерность> ];



МАССИВЫ

Массив – это конечная поименованная последовательность однотипных величин.

Описание массива:

< тип> < имя> [ < размерность> ];

Размерность массива вместе с типом его элементов определяет объём памяти, который необходим для размещения массива. Поэтому размерность массива может быть указана только константой или константным выражением.

Например:

  const n=15;

char mas[n];    массив из 15 символов.

float a[10];                массив из 10 вещественных чисел.

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

Например:

int b[5] = {4, 3, 1};

Элементы массива b 4 3 1 0 0

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

Например:

int a[] = {4, 7, 3, 1, 2}; будет создан массив из 5 элементов

 

Чтобы обратиться к элементу массива, надо после имени массива в квадратных скобках указать номер элемента (индекс). Элементы массива нумеруются от 0.

 

Например:

Номер элемента i
Элементы массива a
Обращение к i–му элементу a[0] a[1] a[2] a[3] a[4]

 

Массивы обрабатываются поэлементно. Чтобы обратиться к каждому элементу используют циклы, в которых номер (индекс) элемента меняется от 0 количества элементов массива.

Пример. Вычислить сумму элементов массива

void main ( ) {

int i, sum;

int m [4] = { 3, 8, 4, 3 };

for ( i = 0; sum = 0; i< 4; i ++ )

sum + = m[i];

                             }

Инициализация элементов массива случайными значениями

Генератор случайных чисел предназначен для получения случайных чисел.

Для работы с генератором необходимо присоединить заголовочный файл < stdlib. h>.

Функция rand() возвращает псевдослучайное число в интервале от 0 до 32 767. Изменить интервал можно, используя деление по модулю. Например, получить число в интервале от 0 до 100 можно так: x=rand()%100.  

Получить число в интервале от - 100 до 100 можно так: х= rand()%200-100.

Функция srand( int ) устанавливает исходное число для последовательности, генерируемой функцией rand().

Пример. Найти максимальный элемент массива, состоящего из 10 целых чисел в интервале от 0 до 100.

#include < stdio. h>

#include < stdlib. h>

void main ( )

{ const int n = 10;

int i, max;

int m [ n ];

for ( i = 0; i< n; i ++ ) //Заполнение массива случайными числами

m[i]=rand()%100;

max=m[0];

for ( i = 1; i< n; i + + )

if(max< m[i])max= m[i];

printf(“maximum=%d”, max);                }

Задания

 

1.

Заполнить массив А(100) случайными числами. Напечатать количество и сумму отрицательных элементов этого массива.

2.

Заполнить массив А(10) случайными числами. Подсчитать и вывести на экран сумму положительных элементов массива.

3.

Заполнить массив А(10) случайными числами. Подсчитать и вывести на экран количество четных элементов массива.

4.

Заполнить массив А(10) случайными числами. Подсчитать и вывести на экран количество элементов массива, кратных 7 и не кратных 3.

5.

Заполнить массив А(10) случайными числами. Подсчитать и вывести на экран количество элементов массива, значения которых лежат в интервале от 25 до 50.

6.

Заполнить массив А(10) случайными числами. Подсчитать и вывести на экран сумму четных положительных элементов массива.

7.

Дан одномерный массив А(5). Элементы массива проинициализировать. Переставить элементы массива в обратном порядке. Например: Массив А: 10 12 43 56 7 Ответ: Массив А: 7 56 43 12 10

8.

Заполнить массивы X(15) и Y(15), случайными числами. Получить все числа массива Y, которые не входят в массив Х. Например: Массив Х: 4 7 8 1 5 99 2 25 10 3 Массив Y: 2 6 1 7 3 4 5 37 99 1 Ответ:    6 5 37 

9.

Заполнить массив C(15) случайными числами. Получить числа, взятые по одному из каждой группы равных членов и указать их количество (и количество элементов в группе). Например: Массив C: 6  89  4  3  6  1  8  1  3  6  2  9  3  8  5 Ответ: 6 – 3 раза       89 – 1 раз       4 – 1 раз      3 - 3 раза 1 - 2 раза 8 - 2 раза 2 – 1 раз 9 - 1 раз 5 – 1 раз

10.

Дан массив E(10). Значения элементов массива ввести с клавиатуры. Выяснить, сколько чисел входит в массив более чем по одному разу. Например: Массив C: 6 89 4 3 6 1 8 1 3 6 2 9 3 8 5 Ответ: 4 числа

11.

Даны 3 массива A(5), B(5) и C(5). Заполнить эти массивы случайными числами. Получить новый массив D по следующему правилу: D0=A0, D1=B0, D2=C0, D3=A1, D4=B2 и т. д. Например: Массив А: 1 2 3 4 5 Массив B: 10 20 30 40 50 Массив C: 11 22 33 44 55 Ответ: Массив D 1 10 11 2 20 22 3 30 33 4 40 44 5 50 55

12.

Дан массив А(10). Заполнить массив случайными числами. Получить новый массив В по следующему правилу: В1110, В229, и так далее. Например: Массив А: 1 8 2 9 3 5 4 15 7 2 Ответ: Массив B: 3 15 17 13 8

13.

Дан массив А(10). Элементы массива проинициализировать. Найти и занести в  L -максимальный, a в M – минимальный элемент из массива А. Получить в порядке возрастания все целые числа из интервала [M, L], которые не входят в массив А. Например: Массив А: 10 8 2 9 3 5 13 15 7 2 L =15 M = 2 Ответ: 4 6 11 12 14

14.

Дан массив R(5). Значения элементов массива ввести с клавиатуры. Найти сумму значений Ri – Rj,  где 0< =i < j < =N. Например: Массив R: 10 5 4 3 8 Решение: (10-5)+(10-4)+(10-3)+(10-8)+(5-4)+(5-3)+(5-8)+(4-3)+(4-8)+(3-8). Ответ: 12

15.

Даны число Х и массив Z(5). Тип элементов – вещественный. Элементы массива проинициализированы. Найти в последовательности Z два числа, среднее арифметическое которых ближе всего к Х. Например: Массив Z: 10 5 4 3 8 Х=7, 1 Решение: (10+5)/2=7, 5 (10+4)/4=7 (10+3)/2=6, 5 (10+8)=9 (5+4)/2=4, 5 (5+3)=4 (5+8)/2=6, 5 (4+3)/2=3, 5 (4+8)/2=6 (3+8)/2=5, 5 Ответ:  10 и 4

16.

Заполнить массив А(100) случайными числами. Упорядочить элементы массива по возрастанию.
       

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.