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

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

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

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

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

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

Поиск файлов на локальном диске - C++
Доброго всем времени суток! Как с помощью WinApi найти список папок на локальных дискахб если FindFirstFile первым аргументом букву диска...

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

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

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

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

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

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

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

c++ обработка файлов - C++
ОЧЕНЬ нужна программа на c++. Из текстового файла А.txt вывести кол-во символов (не учитывая пробел) в файл B.txt Например в файле...

обработка файлов - C++
товарищи подскажите что не так??? заранее благодарен!!! суть задачи следующая: &quot;Найти максимальный из отрицательных элементов в файле целых...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.10.2011, 22:12
Ответ Создать тему
Опции темы

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