Лабораторная №11
.docxОдеський національний політехнічний університет
Інститут комп’ютерних систем
Кафедра інформаційних систем
Варіант №1
Лабораторна робота №11
По дисципліні “Алгоритмізація і програмування”
Тема: “ Програмування з використанням покажчиків. Динамічні масиви”
Виконав:
Студент гр. АІ-171
Анищенко М.О.
Перевірили:
Глава М.Г.
Одеса 2017
Мета роботи: Навчитися працювати з динамічними масивами, використовувати структури для збереження даних.
Завдання: Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Замінити негативні елементи масиву на середнє арифметичне значення чисел цього масиву.
Код програми:
#include <stdio.h>
#include <stdlib.h>
int main(){
int N;
printf("Enter N ");
scanf("%d", &N);
int *arr = (int *)malloc(N*sizeof(int));
printf("Enter array\n");
int *ptr = arr;
for(int i = 0; i < N; i++, ptr++)
scanf("%d", ptr );
int m = 0;
ptr = arr;
for(int i = 0; i < N; i++, ptr++)
m += *ptr;
m = m*1.0/N;
ptr = arr;
for(int i = 0; i < N; i++, ptr++)
if(*ptr < 0)
*ptr = m;
ptr = arr;
for(int i = 0; i < N; i++, ptr++)
printf("%d ", *ptr );
return 0;
}
Приклад виконання:
N |
Array |
5 |
-4 5 -23 4 5 |
Висновки:
Написана програма заміщає негативні елементи значенням середнього арифметичного чисел масиву, використовуючи покажчик на масив.