Форум: Форум C++Разное
Новые темы: 00
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите отсортировать
 
 автор: XPyCT   (25.09.2007 в 14:52)   письмо автору
 
 

есть текстовый файл в котором в каждой строке какоето значение
к примеру
1
3
5
1
2
5
3
2

как посчитать количество едениц троек петерок двоек и так далее
за ранее спасибо

  Ответить  
 
 автор: cheops   (25.09.2007 в 17:02)   письмо автору
 
   для: XPyCT   (25.09.2007 в 14:52)
 

Использование STL допускается?
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
  const int LENGTH = 80;
  vector<int> coll;
  vector<int>::iterator pos;
  const char *filename = "filename.txt"
  char input[LENGTH];
  string str;
  FILE *fp;

  try
  {
    // Читаем содержимое файла в коллекцию
    fp = fopen(filename, "r");
    while(!feof(fp))
    {
      // Читаем строку из файла-источника
      fgets(input, LENGTH, fp);
      str = input;
      coll.push_back(atoi(str.c_str()));
    }
    fclose(fp);

    // Сортируем
    sort(coll.begin(), coll.end());

    // Обходим коллекуцию 
    // Перезаписываем файл новыми значениями
    pos = coll.begin();
    int current = *pos;
    int number = 0;
    for(pos = coll.begin(); pos != coll.end(); ++pos)
    {
      if(current == *pos) number++;
      else
      {
        cout << current << " = " << number << " раз\r\n";
        number = 1;
        current = *pos;
      }
    }
    cout << current << " = " << number << " раз\r\n";

  }
  catch(bad_alloc)
  {
    cout << "Не удалось выделить память под коллекцию\n";
  }

  return 0;
}

  Ответить  
 
 автор: XPyCT   (25.09.2007 в 17:43)   письмо автору
 
   для: cheops   (25.09.2007 в 17:02)
 

большое спасибо

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования