Задачи С Файлами

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

  1. trash-250293

    trash-250293 Гость

    1. Дан файл ,компоненты которого являются целыми числами. Найти:
    а) количество четных чисел среди компонент;
    б) количество удвоенных нечетных чисел среди компонент;
    в) количество квадратов нечетных чисел среди компонент.

    условие второй...... Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл , содержащий сведения об учениках школы.
    2. Дан файл , содержащий те же самые сведения об учениках школы, что и в предыдущей задаче, и дополнительно отметки, полученные учениками в последней четверти.
    а) Выяснить, сколько учеников школы не имеют отметок ниже четырех.
    б) Собрать в файле сведения о лучших учениках школы, т.е. об учениках, не имеющих отметок ниже четырех и по сумме баллов не уступающих другим ученикам своего и параллельных классов.


    это решение первой задачи...

    #include <iostream.h>
    #include <stdio.h>
    void main (int argc,char *argv[])
    {
    FILE *in;
    int t,i,k,p,m;
    /* —--------- */
    k = p = m = 0;
    if (argc<2)
    cout « "Имя файла не задано в командной строке.";
    else
    {
    in = fopen (argv[1],"w+");
    cout « "Вводите компоненты файла. Окончание ввода - число -1\n";
    do
    {
    cin » t; fprintf (in,"%d\n",t);
    }
    while (t!=EOF);
    fseek (in,0,SEEK_SET);//Перемещение указателя в начало файла
    /* Вывод */
    cout « "Контрольный вывод файла:\n";
    fscanf (in,"%d",&t);
    while (t!=EOF)
    {
    cout « t « endl; fscanf (in,"%d",&t);
    }
    fseek (in,0,SEEK_SET);//Перемещение указателя в начало файла
    //Решение задачи
    fscanf (in,"%d\n",&t);
    while (t!=EOF)
    {
    if (t%2==0)
    {
    k++;
    if (t%4!=0)
    p++;
    }
    else
    for (i=1; i<=t/2+1; i++)
    if (t==i*i)
    {
    m++; break;
    }
    fscanf (in,"%d\n",&t);
    }
    fclose (in);
    cout « "*****************************************\n";
    cout « "Количество четных чисел : " « k « endl;
    cout « "Количество удвоенных нечетных чисел: " « p « endl;
    cout « "Количество квадратов нечетных чисел: " « m « endl;
    }
    }
     
Загрузка...

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