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

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

ФЭСТ ВТ-11

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

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

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

Выполнил: студент Музалёв Д.В.

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

Москва 2012.

Написать программу создания файла, списывания из файла,

обработка массива и записывание массива в конец исходного файла.

Вариант 12

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

1) номер максимального по модулю элемента массива;

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

элемента.

Преобразовать массив таким образом, чтобы сначала располагались все элемен-ты, целая часть которых лежит в интервале [а,Ь], а потом — все остальные.

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

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int main()

{

FILE*fp;

int i,max,k;

int n;

int a[10]={2,4,7,-5,9,3,1,5,6,1};

fp=fopen("tstt.dat", "r");

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

{ n=fscanf(fp,"%d",&a[i]);

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

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

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

fclose(fp);

max=a[0];

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

if(a[i]>max)

{max=a[i];k=i;}

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

system("pause");

return 0;

}

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

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int main()

{

FILE *fp;

int i,s=0,k;

int n;

int a[10]={-1,-7,8,3,9,1,2,4,6,5};

fp=fopen("tstt.dat", "r");

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

{ n=fscanf(fp,"%d",&a[i]);

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

printf("\n");

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

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

fclose(fp);

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

if(a[i]>0)

{a[i]>0;k=i;break;}

for(i=k+1;i<n;i++)

s+=a[i];

printf("s=%i\n",s);

system("pause");

return 0;

}

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

#include <stdio.h>

#include<stdlib.h>

int main()

{

FILE*fp;

int i,n;

int a[10]={2,4,7,-5,9,3,1,5,6,1};

fp=fopen("tstt.dat", "r");

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

{ n=fscanf(fp,"%d",&a[i]);

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

printf("\n");

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

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

fclose(fp);

int b[10];

int m=1,l=7,k;

k=0;

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

if (a[i]>=m && a[i]<=l)

{b[k]=a[i];k++;}

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

if( a[i]<m || a[i]>l)

{b[k]=a[i];k++;}

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

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

system("pause");

return 0;

}