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

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

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

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

28.05.2013, 07:33. Просмотров 347. Ответов 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 пункт
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2013, 07:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во (C++):

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

Как заставить Strncpy вложить в itog часть символов строки str, если дина str больше, чем кол-во нужных нам символов? - C++
strncpy(itog,str,size+1); cout&lt;&lt;itog; itog вообще не выводится Добавлено через 2 минуты Вот код. #include &lt;iostream&gt; ...

Какое кол-во тепло нужно сообщить - Термодинамика и МКТ
Какое количество тепла Q нужно сообщить 75 г водяных паров, чтобы нагреть их от 100 ℃до 250 ℃ при постоянном давлении? Определите изменение...

Найти в типизированном файле число повторяющиеся больше всего раз - Free Pascal
В типизированном файле записаны символы и числа найти целое число которое повторяется больше всего раз Помогите написать саму подпрограму...

Даны строки S и S0. Найти кол-во вхождений строки S0 в строку S - Visual Basic
Даны строки S и S0. Найти кол-во вхождений строки S0 в строку S

Текстовый файл. Вывести номер строки в которой больше всего слов и кол-во этих слов - Turbo Pascal
в текстовом файле в нескольких строках записаны слова через запятую, вывести номер строки в которой больше всего слов и кол-во этих...

3
Кот Ангенс
318 / 268 / 38
Регистрация: 24.05.2012
Сообщений: 629
28.05.2013, 08:12 #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;
}
0
ekb_lbp
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 8
29.05.2013, 12:46  [ТС] #3
А можете помочь с продолжением моей программы?

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

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

Добавлено через 17 часов 10 минут
Помогите пожалуйста
Готов договориться
0
ekb_lbp
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 8
30.05.2013, 19:49  [ТС] #4
Выручайте
0
30.05.2013, 19:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 19:49
Привет! Вот еще темы с ответами:

Найти не повторяющиеся строки в 2х массивах - Pascal
Собственно даны 2 одномерных массива с типом string: mass1 и mass2 количество занятых элементов в 1м массиве (в которых задана строка)...

Найти повторяющиеся строки в файле и их количество - C (СИ)
Здравствуйте! Есть текстовый файл с ненормированными длинами строк. Надо найти повторяющиеся строки и их количество. Важный момент - файл...

Найти повторяющиеся строки и количество их повторов - LINQ
Как в list&lt;string&gt; найти повторяющиеся строки и количество их повторов? Вариант перебора циклом не интересует, хотелось бы найти способ...

По конкретному значению найти все повторяющиеся строки - MS Excel
В приложенном файле есть лист1 с перечнем значений построчно, необходимо данный перечень сравнить с листом тариф столбец А, а затем с...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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