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

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

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

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

28.05.2013, 07:33. Просмотров 329. Ответов 3
Метки нет (Все метки)

Друзья, помогите мне пожалуйста закончить программу.
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++ Найти элемент массива, равный заданному числу Х или сообщить о его отсутствии
C++ Строки. Повторяющиеся слова.
C++ Задана символьная матрица размером NxM.Определить кол-во различных элементов(Повторяющиеся считать только 1 раз).
C++ С++ Удалить повторяющиеся строки
C++ Повторяющиеся строки матрицы.
for,while,do while (программа должна сообщить кол-во введенных слов) C++
C++ Исключить из матрицы повторяющиеся строки
C++ Найти первое отрицательное число в последовательности и сообщить порядковый номер
Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. C++
Повторяющиеся строки 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-х и больше) и сообщить их кол-во
Ответ Создать тему
Опции темы

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