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

Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во - C++

Восстановить пароль Регистрация
 
ekb_lbp
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 8
28.05.2013, 07:33     Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во #1
Друзья, помогите мне пожалуйста закончить программу.
1) От программы нужно чтобы он открывал текстовый файл (в котором находятся несколько строк на английском языке). Подсчитал их количество.
2) Сравнил каждую строку.
3) И найти повторяющиеся строки (от 2-х и больше) и сообщить их количество
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
#include <stdio.h>
#include <alloc.h>
#include <string.h>
 
int strcmp(char *str1, char *str2);     // прототип
 
struct node
{
  char *str;
  node *next;
};
 
void myread (FILE *fp, node *head);      // прототип
int count (node *head);                  // прототип
 
void main()                              
{
  FILE *fp=fopen("my.txt", "rt");
  node head ={" ", NULL};
  myread (fp,&head);
  int n;
  n=count(&head);
  printf("n=%d", n);
}
 
void myread (FILE *fp, node *head)
{
  char buf[100];
  while (!feof(fp))
   {
     fgets (buf,100,fp);                          // чтение строки
     node *t=(node*)malloc(sizeof(node));          
     t -> str=(char*)malloc(strlen(buf)+1);
     strcpy (t -> str, buf);
     t -> next=NULL;
     head -> next=t;
     head=t;
   }
}
 
int count (node *head)                    
{
  int c=0;
  while (head -> next)
    {
       c++;
       head=head->next;
    }
  return  c;
}                 // 1    // на этом моменте программа видит что кол-во строк 4
// остался 2 и 3 пункт
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2013, 07:33     Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во
Посмотрите здесь:

C++ Дан двумерный массив. Найти номер строки, где больше всего нулей.
C++ Задана символьная матрица размером NxM.Определить кол-во различных элементов(Повторяющиеся считать только 1 раз).
Найти количество пятниц с 1 января 2001 по 31 декабря 2010. И найти количество пятниц, 13 C++
for,while,do while (программа должна сообщить кол-во введенных слов) C++
Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
28.05.2013, 08:12     Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <fstream>
#include <iostream>
#include <map>
#include <string>
 
using namespace std;
 
int main() {
    ifstream f("my.txt");
    map<string, unsigned> m;
    unsigned lineCount = 0;
    string s;
    while (getline(f, s)) {
        m[s]++;
        lineCount++;
    }
    f.close();
    unsigned repeatCount = 0;
    for (map<string, unsigned>::const_iterator it = m.begin(); it != m.end(); it++)
        if (it->second > 1)
            repeatCount += it->second;
    cout << lineCount << ' ' << repeatCount;
}
ekb_lbp
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 8
29.05.2013, 12:46  [ТС]     Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во #3
А можете помочь с продолжением моей программы?

Добавлено через 10 часов 2 минуты
Кот Ангенс, спасибо вам конечно, работает

А может кто мне помочь написать для моего варианта (с динамическим распределением памяти) ???

Добавлено через 17 часов 10 минут
Помогите пожалуйста
Готов договориться
ekb_lbp
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 8
30.05.2013, 19:49  [ТС]     Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во #4
Выручайте
Yandex
Объявления
30.05.2013, 19:49     Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во
Ответ Создать тему
Опции темы

Текущее время: 10:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru