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

Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Рудов / лабораторная работа №10

.doc
Скачиваний:
18
Добавлен:
17.04.2015
Размер:
29.7 Кб
Скачать

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА

Факультет электроники и системотехники.

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

Тема: «Файлы»

Выполнил студент:

Рудов К. А. ВТ-11

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

Москва 2011 г.

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

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

1)max элемент массива;

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

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.

  1. Данные:

Входные данные: i, a[10]

Рабочие данные: max, s.

  1. Схема программы:

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

#include<stdio.h>

#include<stdlib.h>

#include <conio.h>

#include<math.h>

int main(){

FILE *fp;

char c;

const int n=10;

int a[n]={2,3,5,-1,-2,9,-3,-8,0,-2};

int temp[n];

int j=0;

int i;

int k,d,b;

int max=0;

int s=0;

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

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

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

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

fprintf(fp,"\n");

fclose(fp);

//////////////////////max

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

if (a[i]>max)

max=a[i];

//////////////////////sum

for(int i=0; i<n; i++)

if( a[i]>0)k=i;

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

s=s+a[i];

/////////////////////sort

printf("vvedite a,b\n");

scanf("%d%d",&b,&d);

for(i=0;i<n;i++){

temp[i]=0;

if ((fabs(a[i])<b)||(fabs(a[i])>d)){

temp[j]=a[i];

j++;

}

}

for(int i=0;i<n;i++){

a[i]=temp[i];

}

///////////////////////zap v fail

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

fprintf(fp,"sum=%d\n",s);

fprintf(fp,"max=%d\n",max);

for (int i=0; i<n; i++)

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

fclose(fp);

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

system("pause");

return 0;

}