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

Московский Государственный Университет Леса

ФЭСТ ВТ-11

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

Программирование на языках высокого уровня

Тема: “Файлы”

Выполнил студент Красных В.Ю.

Проверил Ларионов Н.В.

Москва 2012.

1. Условия задания:

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

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

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

Упорядочить элементы массива по возрастанию.

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

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

int main()

{

FILE *fp;

int i,s,j,k,ss,min,max,imin,imax,i1,i2;

int n;

char c;

int a[10]={-9,2,-1,9,2,1,0,7,7,2};

clrscr();

fp=fopen("10Laba.dat", "r");

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

fprintf(fp,"%d%c",a[i],',');

fclose(fp);

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

printf("%d ",a[i]);

////////////////////

k=0;

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

if(a[i]<0)k+=a[i];

printf("\n");

printf("summa otriz =%i \n",k);

//////////////////////////

max=min=a[0];

imin=imax=0;

for (i=1;i<10;i++)

{

if (a[i]>max) {

max=a[i];

imax=i;

}

if (a[i]<min) {

min=a[i];

imin=i;

}

}

if (imax>imin) {

i1=imin;

i2=imax;

}

else{

i1=imax;

i2=imin;

}

ss=1;

for (i=i1+1;i<i2;i++)

ss*=a[i];

printf("Proizvedenie=%i \n",ss);

///////////////////////////

for (i=0; i<10-1; i++)

for(j=i+1; j<10;j++)

if(a[i]>a[j])

for (k=i;k<=j;k++)

{

s=a[k];

a[k]=a[j];a[j]=s;}

fp=fopen("10Laba.dat", "a");

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

fprintf(fp,"%d%c",a[i],' ');

fclose(fp);

printf("Preobrazovani massiv:\n");

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

printf("%i ",a[i]);

printf("\n");

system("pause");

return 0;

}