РГР
.docxМОН УКРАИНЫ
ОДЕССКИЙ НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Институт Компьютерных Систем
Кафедра Информационных систем
Расчётно-графическая работа
по дисциплине: «Алгоритмизация и программирование»
Тема: «Программирование типовых операций обработки данных представленных одномерным массивом»
Вариант №1
Выполнил:
Ст.гр. АИ-171
Анищенко Н.А.
Проверил:
Бабилунга О.Ю.
Одесса 2017
Задание:
Дан массив из 18 вещественных чисел, все элементы которого различны.
а) Найти произведение (ненулевых) эл-тов массива, которые находятся на позициях кратных числу 3.
б) Найти квадраты всех чисел, расположенных между минимальным и максимальным значениями.
в) Отсортировать по возрастанию эт-ты, находящиеся на местах не кратных числу 3
Блок-схема:
Примеры выполнения
Входящие данные: 12.3, 24, -4.3, 4.2, 434.0, 0, 994.2, 43.4, 23.2, 2.112, 32.4, 74.2, 81.3, -98.4, -44.2, -74.7, 72.3, 43.1;
Вывод консоли:
Входящие данные: 0.45, 48.9, 234.95, -23.4, -2.66, 95.8, -34.0, 0, 0, 32.0, 0.54, -43.05, 4.5, 95.2, 94.8, 881.04, 0, -9.5
Вывод консоли:
Код программы:
#include <stdio.h>
#include <stdlib.h>
#define L 18
int main()
{
float a[L];
printf("Enter array elements\n");
for(int i = 0; i < L; i++)
scanf("%f", &a[i]);
for(int i = 0; i < L; i++)
printf("%.3f\n", a[i]);
float mul = 1;
for(int i = 0; i < L; i+=3)
if(a[i] != 0)
mul*=a[i];
printf("\nProduct elements of the array at positions multiple of 3 = %.3f\n", mul);
int max, min = max = 0;
for(int i = 1; i < L; i++)
if(a[i] < a[min])
min = i;
else if(a[i] > a[max])
max =i;
printf("\nSquares of all numbers between the minimum and the maximum values\n");
if(min > max)
{
int tmp = max;
max = min;
min = tmp;
}
for(int i = min+1; i < max; i++)
printf("%.3f \n", a[i]*a[i]);
for(int i = 0; i < L; i++)
{
if(i % 3) {
min = i;
for(int j = i+1; j < L; j++)
if((j % 3) && (a[min] > a[j]))
min = j;
float tmp = a[i];
a[i] = a[min];
a[min] = tmp; } }
printf("\nSorted ascending items on the ground are not multiple number 3\n");
for(int i = 0; i < L; i++)
printf("%.3f\n", a[i]);
return 0;
}
Описание и анализ ошибок:
При написании программы не было встречено ошибок.