Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Теоретична частина

Читайте также:
  1. ЗАГАЛЬНА ЧАСТИНА
  2. ЗАГАЛЬНА ЧАСТИНА
  3. ЗАГАЛЬНА ЧАСТИНА
  4. Констатуюча частина
  5. ОСОБЛИВА ЧАСТИНА
  6. ОСОБЛИВА ЧАСТИНА
  7. Практична частина

Масиви - це група елементів однакового типу (double, float, int і т.п.). З оголошення масиву компілятор повинний одержати інформацію про тип елементів масиву і їхню кількість. Оголошення масиву має два формати:

1. Специфікатор - типу описатель [константний - вираз];

2. Специфікатор - типу описатель [ ];

Описатель - це ідентифікатор масиву.

Специфікатор - типу задає тип елементів масиву, що повідомляється. Елементами масиву не можуть бути функції й елементи типу void.

Константний - вираз в квадратних дужках задає кількість елементів масиву. Константний - вираз при оголошенні масиву може бути опущено в наступних випадках:

¾ при оголошенні масив ініціалізується,

¾ масив оголошений як формальний параметр функції,

¾ масив оголошений як посилання на масив, явно визначений в іншому файлі.

Кожний константний - вираз в квадратних дужках визначає число елементів по даному вимірі масиву, так що оголошення двовимірного масиву містить два константних - вирази, тривимірного - три і т.д. Відзначимо, що в мові С перший елемент масиву має індекс рівний 0. Якщо ми оголосили масив int a[100], то це означає, що масив містить 100 елементів від a[0] до а[99].

Приклад:

double b[10]; /* вектор з 10 елементів, що мають ініціалізувати тип double */

Дуже важливо вміти ініціалізувати масиви, тобто привласнювати елементам масиву деякі початкові значення. У мові С для цього є спеціальні можливості. Найпростіший спосіб ініціалізації наступний: у процесі оголошення масиву вказати у фігурних дужках список ініціалізаторів:

float farr[6]={1.1,2.2,3.3,4.4.5.5,6.6};

Допускається також оголошення й ініціалізація масиву без явної вказівки розміру масиву. Наприклад:

int mass[]={1,2,3,1,2,3,4};

Проте, якщо масив великий, ця процедура стає довгою та утомлюючою. Для введення масиву використовується цикл із параметром.

Приклад:

Оголошено масив з десяти цілих елементів (int arr[10]). Потрібно ввести значення його елементів

for(i=0;i<10;i++) scanf(“%d”,&arr[i]);

Найпростішими задачами на обробку масиву є задачі на визначення його кількісних характеристик, таких, як сума елементів, їх добуток тощо.

Розглянемо алгоритм знаходження суми елементів масиву X(N). В ньому можна виділити певні дії, що є характерними для задач визначення кількісних характеристик масиву (рис. 6.1).

В таблиці 6.1. наведені аналогічні операції для знаходження таких кількісних характеристик одновимірного масиву X(N):

· добуток елементів ();

· кількість елементів К;

· середнє арифметичне К елементів ();

· середнє геометричне К елементів ();

· максимальний, мінімальний елемент та його номер.

Таблиця 6.1.

Характеристика масиву До циклу В циклі Після циклу
       
Сума S=0 S=S+Xi Вивід S
Добуток P=1 P=P*Xi Вивід P
Кількість K=0 K=K+1 Вивід K
Середнє арифметичне S=0; K=0 S=S+Xi; K=K+1 SA=S/K Вивід SA
Середнє геометричне P=1; K=0 P=P*Xi; K=K+1 SR=P1/K Вивід SR
Максимальний елемент MAX=X1 або MAX=-1020 Якщо Xi>MAX, то MAX=Xi Вивід MAX
Максимальний елемент і його номер MAX=X1 або MAX=-1020, L=1 Якщо Xi>MAX, то MAX=Xi, L= i Вивід MAX, L
       
Мінімальний елемент MIN=X1 або MIN=1020 Якщо Xi<MIN, то MIN=Xi Вивід MIN
Мінімальний елемент та його номер MIN=X1 або MIN=1020 L=1 Якщо Xi<MIN, то MIN=Xi , L= i Вивід MIN, L

 

Завдання 1. В масиві A(M) знайти суму парних елементів, максимальний елемент і його номер.

Програма (Блок-схема представлена на рис. 6.2).

 

#include <stdio.h>

/*Обробка одновимірного масиву*/

main()

{

float a[100];

int i, m, nom;

float s, max;

printf(“Введіть кількість елементів в масиві:”);

scanf(“%d”,&m);

/*Ввід елементів масиву*/

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

scanf(“%d”,&a[i]);

s=0;

/*Знаходження суми парних елементів*/

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

{

if(a[i]%2==0)s+=a[i];

}

/*Знаходження максимального елементу масиву*/

/*та його номер*/

max=a[0];

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

{

if(a[i]>max)

{

max=a[i];

nom=i;

}

}

printf(“\n””s=%g”,s);

printf(“\n””max=%g nom=%d”,max,nom);

}

 

 


Дата добавления: 2015-07-20; просмотров: 106 | Нарушение авторских прав


Читайте в этой же книге: ТЕОРЕТИЧНА ЧАСТИНА | Використовувані символи | Константи | Стандартні функції | Пріоритети операцій і порядок обчислень | Оператор switch | Оператор break | ВАРІАНТИ ЗАВДАНЬ РОБОТИ | ВАРІАНТИ ЗАВДАНЬ РОБОТИ | Метод половинного ділення |
<== предыдущая страница | следующая страница ==>
Зразок виконання завдання| Завдання 2.

mybiblioteka.su - 2015-2024 год. (0.009 сек.)