Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Музалев / Лабораторная работа №10
.docМосковский Государственный Университет Леса
ФЭСТ ВТ-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;
}