Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Борисов / лабораторная10
.docМосковский Государственный Университет Леса
ФЭСТ ВТ-11
Лабораторная работа №10.
Программирование на языках высокого уровня
Тема: “Файлы”
Выполнил студент Борисов А.О.
Проверил Ларионов Н.В.
Москва 2012.
Задание:
Написать программу создания файла, списывания из файла,
обработка массива и записывание массива в конец исходного файла.
в одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество элементов массива, больших С;
2) произведение элементов массива, расположенных после максимального по
модулю элемента.
Преобразовать массив таким образом, чтобы сначала располагались все отрица-тельные элементы, а потом — все положительные (элементы, равные О, считать
положительными).
Листинг:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define n 5
int main()
{
clrscr();
srand(time(NULL));
FILE *fo;
int a[n],b[n];
int max,s,k,m,j,i,c,l;
char ch;
fo=fopen("F:\\laba10.txt","w");
for (i=0; i<n; i++)
{
a[i]=rand()%30-15;
fprintf (fo,"%d ",a[i]);
}
fclose(fo);
fo=fopen("F:\\laba10.txt","r");
for (i=0; i<n; i++)
fscanf (fo,"%d%c ",&a[i],&ch);
fclose(fo);
printf ("\nvvedite c\n");
scanf ("%i",&c);
max=abs(a[0]);
s=1;
l=0;
for (i=0; i<n; i++)
if (a[i]>c) l++;
for (i=0; i<n; i++)
if (abs(a[i])>max)
{
max=abs(a[i]);
m=i;
}
for (j=m+1; j<n; j++)
s*=a[j];
k=0;
for (i=0; i<n; i++)
if (a[i]<0)
{
b[k]=a[i];
k++;
}
for (i=0; i<n; i++)
if (a[i]>=0)
{
b[k]=a[i];
k++;
}
fo=fopen("F:\\laba10.txt","a");
fprintf(fo,"\nk=%d s=%d\n\n",l,s);
for (i=0; i<n; i++)
fprintf(fo,"%d ",b[i]);
fclose(fo);
system("pause");
return 0;
}