h_sum.dat сумму, произведение и сумму квадратов компонент исходного файла.
# include <stdio.h>
void main ()
{ int a[100], // массив компонент исх. файла
perest, i, j, // вспомогательные переменные
kol, // количество компонент исх. файла
sum, pr, sum_2; // Сумма, произведение и сумма квадратов
FILE *fil, *f;
Очищаем файлы h_otr.dat, и h_por.dat, и h_sum.dat
fil = fopen("h_otr.dat", "w");
fclose(fil);
fil = fopen("h_por.dat", "w");
fclose(fil);
fil = fopen( "h_sum.dat", "w" );
fclose (fil);
Считываем из файла f.dat только отрицательные
Компоненты и заносим их в файл h_otr.dat
if ( ( fil = fopen ( "f.dat", "r" ) ) = = NULL)
{ puts( " Ошибка " );
exit (0); }
f = fopen( "h_otr.dat", "w" );
while ( fscanf ( fil, "%d", & kol ) != EOF )
if ( kol < 0) fprintf ( f, "%d\n", kol );
fclose ( fil );
fclose ( f );
Упорядочиваем компоненты исходного файла
По возрастанию заносим их в файл h_por.dat
if ( (
fil = fopen ( "f.dat", "r" )
) = = NULL)
{ puts( " Ошибка ");
exit (0); }
i = 0;
while ( ( a[i] = fgetc (fil) ) != EOF)
i ++;
fclose (fil);
kol = i;
for ( i = 0; i < kol; i++ ) {
for ( j = i; j < kol – 1; j++ ) {
if ( a[j] > a[j+1] ) {
perest = a[j];
a[j] = a[j+1];
a[j+1] = perest; } } }
fil = fopen( "h_por.dat", "w" );
for ( i = 0; i < kol; i++ )
fputc ( a[i], fil);
fclose (fil);
/* Находим сумму, произведение и сумму квадратов компонент файла f.dat, заносим их в файл h_sum.dat */
f = fopen( “h_sum.dat”, “w” );
sum = sum_2 = 0; pr = 1;
fil = fopen (“f.dat”, “r” );
for(i=0; ( fscanf(f, “%d”, &a[i])!=EOF); i++ ) ;
for(i=0; i<kol; i++ ) {
sum += a[i];
pr *= a[i];
sum_2 += a[i]*a[i]; }
fprintf(fil, “sum = %d \t pr = %d \t sum_2 = %d \n”, sum, pr, sum_2);
fclose (fil); }
Дата добавления: 2015-06-10; просмотров: 1565;