Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB6_C90.DOC
Скачиваний:
1
Добавлен:
25.08.2019
Размер:
177.66 Кб
Скачать

Решение задач с одномерными массивами Задание

Подготовить (для отладки программы) на диске файл In.txt, содержащий 12 вещественных или целых (в вариантах с I) чисел, среди которых должны быть отрицательные, положительные и равные нулю; для целых четные и нечетные.

Составить программу, которая:

  1. вводит из файла In.txt числа в массив и выводит этот массив в результирующий файл Out.txt;

  2. дополнительные параметры, если они упоминаются в тексте задания, ввести с клавиатуры и так же вывести в результирующий файл Out.txt;

  3. вычисляет значения всех вещественных и целых переменных, которые входят в состав вещественного выражения, и значение самого вещественного выражения;

  4. выводит значения всех вычисленных переменных и выражения с пояснениями;

  5. оформляет результаты, используя форматный вывод с управлением редактирования данных.

Отчет

Отчет по лабораторной работе должен содержать в указанном порядке:

  1. название работы;

  2. номер варианта;

  3. фамилию, имя, отчество и номер группы студента, выполнившего работу;

  4. текст задания;

  5. текст варианта задания;

  6. распечатку программы и результатов;

  7. вопросы к заданию с правильными ответами.

Справочная информация

Средние значения действительных чисел а1, а2, а3, …, аn.

Среднее арифметическое

Среднее геометрическое

Среднее квадратичное

Среднее гармоническое

Примечание: вычисление среднего геометрического и среднего гармонического должно производиться только для ненулевых элементов массива.

Пример

Вычислить А+В, где

B – номер минимального элемента из элементов, что имеют нечетные номера;

A – среднее арифметическое отрицательных элементов массива, больших D (D < 0 ввести с клавиатуры).

Программа

//«Вычисления с одномерными массивами (пример без ввода из файла)», вариант №

//студент группы № Дуопроцессоров П. К.

#include <stdio.h>

#include <iso646.h>

#define N 12

#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))

//#define stdout Out// для отладки вывод на экран

int main (void)

{

int i, n;

double b, d, mid;

double m[N] = { -5, 5, -2, 2, 3, -3, 4, 0, 9, -9, 8, -8}; // для отладки без ввода

//FILE *Out;// для отладки вывод на экран

//Out = fopen("Out.txt", "w");// для отладки вывод на экран

printf("d_negative="); scanf("%lf",&d);

fprintf(stdout,"d=%.2f\n",d); // вывод для контроля

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

fprintf(stdout,"%.2f\t",m[i]); // поэлементный вывод для контроля

fprintf(stdout,"\n");

// поиск минимального с номером 1, 3, 5, ....

b = m[1]; // минимальный - один из элементов

for (i=3; i<N; i+=2)

b = MIN( b, m[i] );

fprintf(stdout,"min=%.2f\n",b); // вывод min

// средн арифм

for(n=0, mid = 0.0, i=0; i<N; i++)

if( d < m[i] and m[i] < 0.0)

{ n++; mid += m[i]; }

if ( n != 0)

fprintf(stdout,"mida > %.2f = %.3f c=%.3f\n",d,mid/n, b + mid/n); // вывод mid

else

fprintf(stdout,"mida > %.2f c=%.2f\n",d,b ); // вывод mid

return 0;

}

Вопросы к заданию

  1. Что в программировании называют массивом?

  2. Перечислите свойства массива.

  3. Как в программе ссылаются на элемент массива.

  4. Что в программе объявляет оператор float A[7];

  5. В программе объявлены массивы A и B из 12 элементов (double A[12], B[12];) и в каждый из них введены значения, что произойдет при выполнении оператора scanf("%lf",&A[12]);

  6. В программе объявлены массивы A и B из 12 элементов (double A[12], B[12];) и в каждый из них введены значения, что произойдет при выполнении оператора printf("%f",A[12]);

  7. В программе объявлен массив A из 12 элементов, что означает запись в программе A[K]

  8. Как вводят и выводят массивы в программе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]