Файл И Чтение Действительных Чисел

Тема в разделе "C/C++/C#", создана пользователем HellishOlolo, 8 июн 2012.

  1. HellishOlolo

    HellishOlolo Гость

    Дан файл f, компоненты которого являются действительными числами. Найти:
    1. наибольшее из значений компонент f;
    2. наименьшее из значений компонент с четными номерами;
    3. наибольшее из значений модулей компонент с нечетными номерами;
    4. сумму наибольшего и наименьшего из значений компонент файла f;
    5. разность первой и последней компонент файла f.
    Запрещено пользоваться массивами =(
    getc толком не работает, так как числа действительные .___. очень нужно, помогите, пожалуйста
    Есть вот такие наработки. P.S В лаборатории не работает iostream
    Код (C++):
    #include <stdio.h>
    #include <math.h>
    void main(void)
    {
    int k=0;
    float ch=0, max=0, max1=0, min2=0, min=0, first=0, last=0,m=0,r=0;
    FILE *fp;
    FILE *fg;
    errno_t err;
    fopen_s(&fp,"C:\\f.txt","r");
    fopen_s(&fg,"C:\\g.txt","w");

    if( (err = fopen_s( &fp, "C:\\f.txt", "r" )) !=0 )
    printf( "The file was not opened\n" );
    else
    printf( "The file was opened\n" );

    if (fg==NULL)
    {
    printf("Nulled");
    }
    ch=0;
    ch=fgetc(fp);

    max=ch;
    max1=fabs(ch);
    min=ch;
    first=ch;

    ch=fgetc(fp);
    min2=ch; last=ch;
    if (ch>max) max=ch;
    if (ch<min) min=ch;
    k=2;
    while ((ch=fgetc(fp))!=EOF)
    {
    //ch=(int)ch;
    last=ch;
    k++;
    if (ch>max) max=ch;
    if (ch<min) min=ch;

    if (k%2==1)
    {
    if(fabs(ch)>max1) max1=fabs(ch);
    }
    else
    {
    if (ch<min2) min2=ch;
    }
    }
    m=max+min; r=last-first;
    fprintf(fg," maximum of f = %f",max);
    fprintf(fg,"\n minimum of even = %f", min2);
    fprintf(fg,"\n maximum of uneven absolutes = %f", max1);
    fprintf(fg,"\n summ of max and min = %f", m);
    fprintf(fg,"\n residual of last and first elements = %f", r);
    fclose(fg);
    fclose(fp);
    }
     
  2. HellishOlolo

    HellishOlolo Гость

    Да, файл f - обычный txt, числа в нем отделены пробелами
     
  3. HellishOlolo

    HellishOlolo Гость

    Все, сделал сам, спасибо за поддержку
     
Загрузка...

Поделиться этой страницей