Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с данными из файла 
:(
    Опции темы
Denis Sergeevich
Дата 20.11.2005, 00:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











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

1)среднее арифметическое чисел из последовательности
2)кол-во чисел больших предыдущего
3)все ли элементы последовательности равны между собой
4)кол-во чисел равных минимальному
5)номер последнего числа равного X

задачи не как просто как кажутся потому что нужно куча всяких проверок
тип Float

заранее спасибо
Добавлено в 19:14
язык C (не C++)
забыл

(под проверками я подразумеваю к примеру то что в 1 задаче он должен считать ср ар следующих чисел 1 1e20 1 -1e20)
  Вверх
bilbobagginz
Дата 20.11.2005, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



задача элементарная.
создай тучу вспомогательных переменных
открывай файл, инициализируй переменные, счетчики на 0.
создай цикл считывания 1 числа флоутинг-пойнт из данного файла
1) для сред. арифм. тебе нужна сумма всех чисел и их кол-во:
float sum=0;
int tot_count=0;
2) не понимаю вопроса или:
int bigger_than_prev_cnt=0;
3) для этого: создай переменную
int all_equal=1;
4) float curr_minimum=-0; int count_minimal=0;
5) int last_equal=0;
создай перменные: curr, prev
в каждой итерации цикла считывания ты подпраавляешь все переменные соответственно,
допустим ты уже считал curr:
Код


while( считался curr ){
    tot_count++;
    sum+=curr; 
    avg = sum/tot_count; 
    if ( all_equal && curr != prev ) all_equal = 0;
    if ( curr == curr_minimum ) count_minimal++;
    else { curr_minimum = (curr<curr_minimum)?curr:curr_minimum; }
    if ( X==curr) last_equal=tot_count;
    if (curr>prev)  bigger_than_prev_cnt++;
    prev=curr;
}
printf("1.average is: %f\n",avg);
printf("2.there are %d memebers bigger than their previous ones\n",bigger_than_prev_cnt);
printf("3.all are equal: %s\n", ((all_equal)?"true":"false"));
printf("4.there are %d members equal to the minimum\n",count_minimal);
printf("5.last member equal to X is at position %d\n",last_equal);




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Denis Sergeevich
Дата 23.11.2005, 18:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











проблема!
1)ср арифм чисел
1 1e20 1 -1e20 не считает
2)тип float не понимает =(сравнение чисел)
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0436 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.