Хелпикс

Главная

Контакты

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





тип имя_массива[количество_элементов];



тип имя_массива[количество_элементов];

тип имя_массива[количество_элементов n] = {значение_элемента_0, значение_элемента_1, … значение_элемента_n-1};

Пример. Объявление одномерного массива

int mas1[10];

int mas2[4] = {10, 2, 13, 7};

 

Для перебора элементов массива необходимо организовать цикл. Чтобы было удобно работать с массивами, можно вводить константы.

 

Пример. Подсчет суммы и среднего арифметического элементов одномерного массива

#include < stdio. h>

#include < stdlib. h>

#define N 4

 

void main()

{

int mas1[N] = {10, 2, 15, 7};

int sum=0, i;

float sr;

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

{

sum+=mas1[i];

}

printf(" Summa = %d\n", sum); //вывод результата, равного 32

sr=sum/N;      //при целочисленном делении дробная часть отбрасывается,

//поэтому необходимо приведение суммы к вещественному типу

printf(" Srednee = %6. 3f", sr); //вывод результата, равного 8. 000

sr=(float)sum/N;        // приведение суммы к вещественному типу и подсчет результата

printf(" Srednee = %6. 3f", sr); //вывод результата, равного 8. 500

}

 

Пример. Заполнение и вывод одномерного массива

#include < stdio. h>

#define N 5

 

void main()

{

int mas1[N];

int i;

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

{

mas1[i] = i+3; //заполнение массива значениями от 3 до N-1+3

}

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

{

printf(" %d\n", mas1[i]); //вывод элементов массива: 3 4 5 6 7

}

}

 

Для заполнения массива случайным образом необходимо:

1. для привязки генератора псевдослучайных чисел к моменту времени вызвать функцию srand(). В качестве ее параметра указать time(0).

2. при заполнении массива вызывать функцию rand(), генерирующую псевдослучайные числа.

 

Функция rand() генерирует число от 0 до 65 535. Для уменьшения диапазона используется нахождение остатка от деления (%). Значение выражения rand()%30 находится в диапазоне от 0 до 29. Для смещения этого диапазона применяется сложение или вычитание в зависимости от того, какой диапазон необходимо получить. Так значение выражения rand()%30-15 находится в диапазоне от -15 до 14.

 

Пример. Заполнение массива случайными значениями

#include < stdio. h>

#include < stdlib. h>

#include < time. h>      //не забыть подключить эту библиотеку

#define N 10

 

void main()

{

srand(time(0));

int mas1[N];

int i;

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

{

    mas1[i] = 15+rand()%30; //заполнение массива значениями от 15 до 44

}

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

{

    printf(" %d\n", mas1[i]); //вывод элементов массива

}

}

 

Для заполнения массива символами необходимо в указанный пример внести следующие изменения:

1. объявить массив символов: char mas1[N];

2. генерировать коды символов в соответствии с таблицей ASCII

3. на экран выводить символы: printf(" %с\n", mas1[i]);  

 

Пример. Поиск максимального элемента в массиве

#include < stdio. h>

#include < stdlib. h>

#include < time. h>

#define N 10

 

void main()

{

srand(time(0));

int mas1[N];

int Max, i;

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

{

    mas1[i] = 15+rand()%30; //заполнение массива значениями от 15 до 44

}

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

{

    printf(" %d\n", mas1[i]); //вывод элементов массива

}

Max=mas1[0];                   //задание переменной Max начального значения

for (i=1; i< N; i++) //поиск максимального элемента

{

   if (mas1[i]> Max)

    {

        Max=mas1[i];

    }

}

printf(" Max = %d\n", Max); //вывод значения максимального элемента

}

 


Работа с двумерными массивами

 

Объявление двумерного массива выглядит так:



  

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