- •Міністерство освіти і науки україни
- •7.09.05.06 «Турбіни» і 7.09.05.11 «Теплофізика»
- •Харків нту «хпі» 2008
- •1.1 Опис та ініціалізація масивів
- •1.2. Введення/виведення масивів
- •Масиви, як аргументи функції
- •Варіанти завдань до курсової роботи
- •Матриці
- •2.1. Види матриць
- •2.2. Операції з матрицями
- •Список літератури
1.2. Введення/виведення масивів
Для введення/виведення масивів зручно використовувати оператор циклу for:
for(вираз 1; вираз 2; вира 3)
Вираз 1 – ініціалізація (початкове значення індексу масиву), виконуєтьсяодин раз, коли починає виконуватися цикл.
Вираз 2 – перевірка умови закінчення циклу (значення або вираз, яким характеризується кінцевий індекс масиву), обчислюється перед кожним можливим виконанням циклу.
Вираз 3 – коригувальний вираз, у якому виконується зміна або відновлення виразу, обчислюється наприкінці кожної ітерації.
Введення одновимірного масиву цілих чисел з клавіатури:
for (i=0; i<10; i++)
scanf(“%d”,&A[i]);
Введення двовимірного масиву цілих чисел з клавіатури:
for (i=0; i<10; i++)
for (j=0; j<10; j++)
scanf(“%d”,&B[i][j]);
Оскільки зміна j- го індексу відбувається швидше, ніж i-го, то вводиться двовимірний масив рядками.
Виведення одновимірного масиву цілих чисел на екран:
for (i=0; i<10; i++)
printf(“%d”,A[i]);
Виведеня двовимірного масиву цілих чисел на екран рядками:
for (i=0; i<10; i++)
{
for (j=0; j<10; j++)
printf(“%d”,B[i][j]);
printf(“\n”);
}
Для файлового введення/виведення масиву застосовують відповідні функції: fscanf(), fprintf() розміщені в циклі. Функції fscanf(), fprintf() працюють також, як scanf(), printf(), з тією лише різницею, що перший аргумент – покажчик на файл.
Наприклад: for (i=0; i<10; i++)
fscanf(ou,“%d”,&A[i]);
де ou покажчик на файл, відкритий для читання даних;
for (i=0; i<10; i++)
fprintf(ot,“%d”,A[i]);
де ot покажчик на файл, відкритий для запису даних.
Приклад 1. Підрахунок суми елементів одновимірного масиву:
# include <stdio.h>
#define n 10 //розмір масиву
int main ()
{
int i , sum = 0; // ініціалізація змінної sum
int mass [n] = {3, 4, 5, 4, 4, 6, 1, 7, 8, 5}; //ініціалізація масиву цілих чисел
for (і=0; і<n; і++)
sum +=mass[i]; //визначення суми елементів масиву
printf(“Сума елементів: %5d”,sum);
return 0;
}
При оголошенні кількості елементів масиву зручно використовувати іменовану константу, оголошену в директиві #define. Оскільки при такому підході для її зміни достатньо скорегувати значення константи усього лише в одному місці програми.
Приклад 2. Обчислення суми елементів двовимірного масиву за стовпцями:
# include <stdio.h>
# include <conio.h>
#define R 3 //кількість рядків
#define C 5 //кількість стовпців
int main ()
{
int a[R][C]; //опис масиву цілих чисел
int s[C] //сума елементів у стовпцях
int і,j;
printf (“Уведіть масив\n”);
printf (“Після введення елементів кожного рядка ,\n”);
printf (“%d цілих чисел, натискайте <Enter>\n”,C);
for(i=0; i<R; i++)
{
printf(“->”);
for (j=0; j<C; j++)
scanf(“%d”,&a[i][j]);
}
printf(“\nвведен масив\n”);
for(i=0; i<R; i++)
{
printf(“->”);
for (j=0; j<C; j++)
printf(“ %d ”, a[i][j]);
printf(“\n”);
}
//“очистимо масив s”
for(i=0; i<R; i++)
s[i]=0;
//обробка
for (j=0; j<C; j++) //для кожного стовпця підсумовуємо елементи
for(i=0; i<R; i++)
s[j]+=a[i][j];
printf(“---------------------------------------------”);
for(i=0; i<C; i++)
printf(“%d ”,s[i]);
printf(“Для завершення натисніть <Enter>”);
getch();
return 0;
}
