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

Московский государственный университет леса

ФЕСТ

Вт – 11

Лабораторная работа №10

По теме:

«Файлы»

Преподаватель: Ларионов Н. В.

Студент: Шишкин Д. В.

Москва 2012

в одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) произведение отрицательных элементов массива;

2) сумму положительных элементов массива, расположенных до максимального

элемента.

Изменить порядок следования элементов в массиве на обратный.

Листинг программы:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

#define N 30

float a[N];

void generate_elements();

void print_elements();

int naity_proizvedenie();

int naity_summu();

int find_max();

void sort();

int main()

{

int i = 0;

FILE* file;

float proizv,summ,chislo;

generate_elements();

file = fopen("file.dat","w");

if (file == 0)

{

fprintf(stderr,"Cannot open file for write");

getch();

exit(-1);

}

print_elements();

proizv = naity_proizvedenie();

summ = naity_summu();

printf("Proizvedenie otricatelnyh elementov masiva ravno %f\n",proizv);

printf("Summa polojitelnyh elementov massiva raspolojennyh do max ravno: %f\n",summ);

sort();

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

fprintf(file,"%.2f ",a[i]);

printf("===============SORTED=================\n");

// print_elements();

fclose(file);

file = fopen("file.dat","r");

if (file == 0)

{

fprintf(stderr,"Cannot open file for read");

getch();

exit(-1);

}

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

{

fscanf(file,"%f ",&chislo);

printf("%f\t",chislo);

}

getch();

fclose(file);

return 0;

}

void generate_elements()

{

time_t t;

int i;

srand(time(&t));

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

{

a[i] = rand() % 100;

if (rand() % 2 != 0)

a[i] *= -1;

}

}

void print_elements()

{

int i;

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

printf("%f\t",a[i]);

}

Соседние файлы в папке Шишкин