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

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

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

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

28.05.2013, 07:33. Просмотров 339. Ответов 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-х и больше) и сообщить их кол-во
Посмотрите здесь:

for,while,do while (программа должна сообщить кол-во введенных слов) - C++
&quot;Напишите программу,использующую массив char и цикл для чтения по одному слову за раз до тех пор,пока не будет введено слово done.Затем...

Найти строки, у которых диагональный элемент больше суммы всех остальных - C++
2. Дан квадратный двумерный массив A размера nxn. Сформировать одномерный массив B, куда записать номера тех строк A, у которых...

Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. - C++
Дана квадратная матрица А порядка n. Найти номер строки матрицы, в которой больше всего единичных элементов.

Дан двумерный массив. Найти номер строки, где больше всего нулей. - C++
Дан двумерный массив. Найти номер строки, где больше всего нулей. Помогите пожалуйсто, больше не на кого положиться. При Многом благодарен)

Найти элемент массива, равный заданному числу Х или сообщить о его отсутствии - C++
Доброго времени суток.Делаю первые шаги в программировании и встала задача,которую не могу решить,надеюсь поможите,заранее искренне...

Повторяющиеся строки - C++
Вечер добрый! Хочу посчитать количество одинаковых подряд идущих строк в файле и вывести информацию о таких строках в новом файле. Остаётся...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кот Ангенс
317 / 267 / 38
Регистрация: 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 минут
Помогите пожалуйста
Готов договориться
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 19:49     Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во
Еще ссылки по теме:

С++ Удалить повторяющиеся строки - C++
Задача: Задан файл с записями вида: • фамилия; • имя. Создать файл с записями такого же вида, исключив из него повторяющиеся записи...

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

Повторяющиеся строки матрицы. - C++
Вернуть значение 1, если есть. И количество повторений. Срочно....полчаса осталось. В долгу не останусь, положу денег на телефон. mat -...

Убрать повторяющиеся строки из файла - C++
Доброго времени суток. Задача такая: есть текстовый файл 1.txt, в нём много строк которые могут повторятся. Нужно создать второй файл...


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

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

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