Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wolfgang
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 3
#1

Обработка файлов на диске - C++

13.10.2011, 16:02. Просмотров 442. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста.
Дан файл, в отдельных строках которого прописаны комбинации цифр. Всего комбинаций 7. Строк больше, т.е. некоторые комбинации повторяются.
Требуется определить самую "популярную" из них.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2011, 16:02     Обработка файлов на диске
Посмотрите здесь:

Как определить, есть ли файл на диске. Проверка двух файлов - C++
Всем привет! Задача: проверить существование двух файлов и не пустые ли они. проверить существование одного файла: ...

Реализовать копирование файлов с постоянным наличием только 1 копии на диске - C++
тут нужно мне реализовать такую штуку на основе которой хочу реализовать копирование файлов с постоянным наличием только 1 копии на диске...

Как посчитать сколько на указанном пользователем диске всего файлов и папок? - C++
Дело такое: нужно как-то посчитать сколько на указанном пользователе диске всего файлов и папок. CHAR NamesDIrectory; ...

Обработка файлов - C++
Программа рассчитывает и показывает правильный результат через раз. Как я понял прога работает всегда НЕ правильно, возможно мне везет и...

обработка файлов - C++
Записать в файл п произвольных натуральных чисел Переписать в другой файл те элементы, которые кратны К. Вывести полученный файл на печать.

Обработка файлов - C++
Дан текстовый файл. Каждая строка имеет следующий формат: фамилия пол рост. Создать новый текстовый файл, включающий список мужчин из...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
13.10.2011, 16:44     Обработка файлов на диске #2
используйте map<string,int>, и увеличивайте соответствующее значение. Затем с итератором найдите максимальное значение и выводите его на экран.
Wolfgang
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 3
13.10.2011, 20:47  [ТС]     Обработка файлов на диске #3
Увы, но ассоциативный массив и итераторы мы не изучали. Программу требуется написать более простым способом.
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
13.10.2011, 20:51     Обработка файлов на диске #4
тогда можно (хотя не надо бы но...) организовать вектор, в котором значения были - структуры. Структура имела вид: ключ, значение. В ключе - строка (комбинация) в значении по умолчанию 1. Считываем комбинацию, провегаемся по вектору - если комбинация уже имеется, увеличиваем значение, иначе добавляем новую комбинацию. Ну уж если не проходили и классы, то можно (хотя не слыдовало бы) взять еще один вектор и в нем хранить значения, а в первом - ключи.
Wolfgang
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 3
13.10.2011, 21:10  [ТС]     Обработка файлов на диске #5
Еще лучше. Не проходили векторы и классы.
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
13.10.2011, 21:43     Обработка файлов на диске #6
Wolfgang, дайте пример
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2011, 22:12     Обработка файлов на диске
Еще ссылки по теме:

Обработка файлов - C++
Написать программу обрабатывающую текстовые файлы, чтобы создавался текстовый файл, в котором символы табуляции , пропуски, которые...

Обработка файлов - C++
нужна программа, в которой ты вводишь имя файла с клавы, она открывает его, ты задаешь условие, которое программа удалит везде в этом файле...

обработка файлов - C++
дан текстовый файл. получить строку, в которой минимальное число слов.

обработка файлов - C++
Помогите,пожалуйста.как извлекать из файла нужную информацию?(на си) например каждая строчка содержит дату,время,температуру и тд .И...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
13.10.2011, 22:12     Обработка файлов на диске #7
Надо так делать, хоть проходили хоть нет, скажет учителю что прошёл самостоятельно и он поставит пятёрку с плюсом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <windows.h>
#include <fstream>
#include <vector>
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
 
 
int  main(void) {
 SetConsoleCP (1251);
 SetConsoleOutputCP (1251);
 
 
 //ОТкрываем файл на чтение
 fstream f ("f.txt");
 
 //А это вектор чисел, загоним туда файл
 vector <int> vec;
 
 int i= 0;
 int temp;
 while (f>> temp)
  vec.push_back (temp);
 //Загнали
 
 
 //Скопируем этот вектор
 vector <int> ve(vec);
 //Удалим из второго вектора повторяющиеся элементы
 unique (ve.begin(), ve.end());
 
 //Теперь пробегаемя по ve циклом
 //Берём из него значения и подсчитываем их колиество в vec
 int max= 0;
 int temp_;
 
 
 for (int i= 0; i< ve.size(); i++) {
  if ((temp_= count (vec.begin(), vec.end(), ve[i]))> max) {
   temp= ve[i];
   max= temp_;
  }
 }
  
 //Всё, больше всех повторяется число temp, а именно:
 printf  ("число %d повторяется %d раз\n", temp, max);       
 
  
 getchar ();
 return 0;
}
Добавлено через 1 минуту
А файл пусть такой: (форматирую наугад)
12
23
23
34
45
45
45
56
56
34
34
45
56
67
67
56
45
34
45
23
34
23
23
44
12
23
23
12
23
34
23
34
23
12
23
34


Добавлено через 38 секунд
Всё не получилось файл с данными, я не виноват!

Добавлено через 3 минуты
Да, надо не забыть файл-то закрыть в конце
C++
1
f.close ();
Yandex
Объявления
13.10.2011, 22:12     Обработка файлов на диске
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru