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

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

Войти
Регистрация
Восстановить пароль
 
NemoBLR
6 / 6 / 2
Регистрация: 28.05.2010
Сообщений: 24
#1

Заполнить файлы случайными данными, сравнить их, и вывести самую длинную совпадающую последовательность - C++

28.05.2010, 18:57. Просмотров 513. Ответов 3
Метки нет (Все метки)

создать 10 файлов,в каждом файле 10 строк, строка длинной 255 символов
необходимо заполнить их случайными данными, сравнить их и вывести самую длинную совпадающую последовательность
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2010, 18:57     Заполнить файлы случайными данными, сравнить их, и вывести самую длинную совпадающую последовательность
Посмотрите здесь:

Вывести самую длинную последовательность букв, расположенных между двумя пробелами - C++
Помогите пожалуйста!Задана некоторая запись длнной M,состоящая из букв и символа пробел.В начале и конце записи стоит символ...

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

Определеить самую длинную последовательность в строке - C++
По задаче нужно найти самую длинную последовательность симоволов в строке(не цифр и не букв,а знаков типо !"№;№;! и т.д.). Вот что я...

Найти самую длинную неубывающую последовательность - C++
Дан список из n целых чисел a1, a2,..., a. Найти самую длинную неубывающую последовательность элементов списка

Удалить самую длинную последовательность нулей - C++
Дан массив из N элементов. Удалить самую длинную последовательность нулей (одинаковой последовательности нет). В первой строчке...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
28.05.2010, 23:08     Заполнить файлы случайными данными, сравнить их, и вывести самую длинную совпадающую последовательность #2
Цитата Сообщение от NemoBLR Посмотреть сообщение
...самую длинную совпадающую последовательность
т.е. совпадающие символы? или строки которые больше всего совпадают?
NemoBLR
6 / 6 / 2
Регистрация: 28.05.2010
Сообщений: 24
29.05.2010, 17:15  [ТС]     Заполнить файлы случайными данными, сравнить их, и вывести самую длинную совпадающую последовательность #3
Цитата Сообщение от Mur3ik Посмотреть сообщение
т.е. совпадающие символы? или строки которые больше всего совпадают?
строки которые больше всего совпадают

Добавлено через 16 часов 18 минут
Как хотя бы создать 10 файлов?

Добавлено через 1 час 44 минуты
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
 
 
 
int main ()
{
char simvoli [] = {' ','q','w','e','r','t','y','u','i','o','p'};
char str[256];
char poisk1[2551];/*переменные для хранения данных записанных на диске*/
char poisk2[2551];
char poisk3[2551];
char poisk4[2551];
 int i,j,k;
FILE *file1;
FILE *file2;
FILE *file3;
FILE *file4;
 
file1 = fopen ("file1", "w");
 for (i=0; i<10; i++)
  {
   for (j=0; j< 255; j++)
    {k = 1+( rand () % 10);
     str[j] = simvoli[k];
    }
    fputs( str, file1 );
    fputs ("\n", file1);
  }
 
file2 = fopen ("file2", "w");
 for (i=0; i<10; i++)
  {
   for (j=0; j< 255; j++)
    {k = 1+( rand () % 10);
     str[j] = simvoli[k];
    }
    fputs( str, file2 );
    fputs ("\n", file2);
  }
 
file3 = fopen ("file3", "w");
 for (i=0; i<10; i++)
  {
   for (j=0; j< 255; j++)
    {k = 1+( rand () % 10);
     str[j] = simvoli[k];
    }
    fputs( str, file3 );
    fputs ("\n", file3);
  }
 
 file4 = fopen ("file4", "w");
 for (i=0; i<10; i++)
  {
   for (j=0; j< 255; j++)
    {k = 1+( rand () % 10);
     str[j] = simvoli[k];
    }
    fputs( str, file4 );
    fputs ("\n", file4);
  }
fclose (file1);
fclose (file2);
fclose (file3);
fclose (file4);
 
 
file1 = fopen ("file1", "r");
while (!feof(file1)){
fscanf ( file1, "%s", &poisk1);
printf( "%s", poisk1);}
fclose (file1);
 
file2 = fopen ("file2", "r");
while (!feof(file1)){
fscanf ( file1, "%s", &poisk2);
printf( "%s", poisk2);}
fclose (file2);
 
file3 = fopen ("file3", "r");
while (!feof(file3)){
fscanf ( file3, "%s", &poisk3);
printf( "%s", poisk3);}
fclose (file3);
 
file4 = fopen ("file4", "r");
while (!feof(file4)){
fscanf ( file1, "%s", &poisk4);
printf( "%s", poisk4);}
 
 
 
 
 
fclose (file4);
getch ();
return 0;
}
дошел до этого... как можна найти строки которые больше всего совпадают?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2010, 17:28     Заполнить файлы случайными данными, сравнить их, и вывести самую длинную совпадающую последовательность
Еще ссылки по теме:

Найти самую длинную последовательность простых чисел - C++
Доброго времени суток! Помогите пожалуйста доделать программу. Нужно из массива цифр, выделить самую длинную последовательность простых...

Найти самую длинную последовательность цифр в строке - C++
Помогите новичку, пожалуйста) Нарушен п.5.18 Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.

Определить самую длинную последовательность цифр в тексте - C++
С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки текста не должна...

Найти в массиве самую длинную положительную последовательность - C++
Дан массив размера N найти в нем самую длинную положительную последовательность

В массиве найти самую длинную монотонную последовательность - C++
Последовательность a1,а2,...,аk называется монотонной, если а1&lt;=a2&lt;=...&lt;=ak либо a1&gt;=a2&gt;=...&gt;=ak. В массиве A(m) найти самую длинную...

Подсчитать самую длинную последовательность подряд идущих букв а - C++
Дана строка.Подсчитать самую длинную последовательность подряд идущих букв а.


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

Или воспользуйтесь поиском по форуму:
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
29.05.2010, 17:28     Заполнить файлы случайными данными, сравнить их, и вывести самую длинную совпадающую последовательность #4
Алгоритм:
все считываешь в 2х мерный динамический массив.
и сравниваешь построчно
первую строку - с второй...третьей... до конца...(потом вторую с третьей.... четвертой до конца...., третью с четвертой.... пятой... до конца) увеличивая с каждым разом количество символов для сравнения (используешь для этого strncmp) при этом создаешь 3 переменных которые содержат номера строк которые совпадают и количество символов. если нашло более удачный вариант замещаешь их.

Сравнение строк, с указанием количества сравниваемых символов:
int strncmp(char *s1, char *s2, int var);
пример:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <clocale>
#include <cstring>
using namespace std;
 
void main ()
{
setlocale(LC_CTYPE, "rus");
char str[50]="abcdef", str2[50]="abcdfff";
    cout<<strncmp(str, str2, 4)<<endl;
}
взято от сюда -> Библиотека cstring. Работа со строками.
Yandex
Объявления
29.05.2010, 17:28     Заполнить файлы случайными данными, сравнить их, и вывести самую длинную совпадающую последовательность
Ответ Создать тему
Опции темы

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