Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 53

Поиск строкового массива в файле

29.10.2015, 19:12. Показов 629. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, мне нужно создать программу которая будет открывать файл с данными записанными построчно, искать нужную строку по 1-му слову, после чего нужно указать следующую строку которую оно так же найдет и сравнит их на наличие одинаковых слов, в итоге выведет эти строки и общие слова в массивах. Таких операций должно быть от 2 до 5, по выбору пользователя. Пользователь должен задавать название массива который нужно найти. Количество массивов в файле может достигать 200, а количество слов в каждом массиве от 1 до 50.

Добавлено через 1 час 9 минут
Ап, помогите пожалуйста...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.10.2015, 19:12
Ответы с готовыми решениями:

Как сделать элемент строкового массива элементом числового массива?
Помогите, пожалуйста! :cry: Как поменять элемент строкового массива так, чтобы он стал элементом числового массива? Есть ли в С++ аналог...

Проверка строкового массива
Добрый день, помогите, пожалуйста, разораться с проверкой условия: Имеем текстовый файл, содержащий следующие данные: "Right 3...

Проверка на 0 и 1 для строкового массива
Написал такую функцию для проверки строкового массива на бинарность bool checkBinary(string matrix, int k, int p) { for (int l =...

8
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
29.10.2015, 19:12
Byz9, Сами что-нибудь сделали уже?
0
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 53
29.10.2015, 19:16  [ТС]
Только "сравнит их на наличие одинаковых слов, в итоге выведет эти строки и общие слова в массивах."
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
29.10.2015, 19:17
Byz9, Ну так кидайте код.
0
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 53
29.10.2015, 19:18  [ТС]
makfak, но я не уверен, что это подходит для данной задачи...
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
#include <iostream>
#include <string>
 
using namespace std;
 
void compare(string * a, int an, string aName, string * b, int bn, string bName)
{
    for (int i(0); i < an; ++i)
        for (int j(0); j < bn; ++j)
            if (a[i] == b[j])
                cout << "В массивах " << aName << " и " << bName << " совпадает слово " << a[i] << "." << endl;
}
 
void show(string * a, int an, string aName)
{
    cout << "Массив " << aName << " содержит слова: " << a[0];
    for (int i(1); i < an; ++i) cout << ", " << a[i];
    cout << "." << endl;
}
 
int main()
{
    setlocale(LC_ALL, "RUS");
    const int n(3);
 
    string    names[n] = { "один", "два", "три" };
    int        sizes[n] = { 3, 2, 1};
    
    string    words[n] = { "кошка", "ложка", "ножка" };
 
    string ** wordsArrays = new string *[n];
 
    for (int i(0); i < n; ++i)
    {
        wordsArrays[i] = new string[sizes[i]];
        for (int j(0); j < sizes[i]; ++j)
            wordsArrays[i][j] = words[j];
    }
 
    for (int i(0); i < n; ++i)
        show(wordsArrays[i], sizes[i], names[i]);
    
    for (int i(0); i < n; ++i)
        for (int j(i + 1); j < n; ++j)
            compare(wordsArrays[i], sizes[i], names[i],
                    wordsArrays[j], sizes[j], names[j]);
 
    for (int i(0); i < n; ++i)
        delete [] wordsArrays[i];
    delete [] wordsArrays;
    system("pause");
    return 0;
}
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
29.10.2015, 19:56
Byz9, Откуда же такое задание? Даже не знаю, как его решить. Может кто-то поопытней подскажет, а я, увы. Простите. Могу разве что организовать поиск первых слов в файле.
0
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 53
29.10.2015, 20:13  [ТС]
makfak, буду благодарен
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
29.10.2015, 20:29
Byz9,
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
void FindWord( string );
 
int main() {
    FindWord( "a.txt" );
}
 
void FindWord( string NameFile ) {
    ifstream file( NameFile );
    string str = "";
    string str2 = "";
    string find = "";
    int j = 0;
    string cpy[];
    getline( file, str );
    for( int i = 0; i < str.length(); i++ ) {
        str2 += str[i];
        if( str[i+1] == ' ' ) {
            find = str2;
            break;
        }
    }
    while( !file.eof() ) {
        str2 = "";
        getline( file, str );
        for( int i = 0; i < str.length(); i++ ) {
            str2 += str[i];
            if( str[i+1] == ' ' && str2 == find ) {
                cpy[j] = str;
                j++;
                break;
            }
        }
    }
}
Вот этот код ищет 1-е слово 1-й строки файла, дальше додумайте сами, просто уже ни сил, ни времени нету на это. Простите.
0
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 53
01.11.2015, 15:31  [ТС]
Ап, может кто-то еще знает как решить данную задачу?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.11.2015, 15:31
Помогаю со студенческими работами здесь

Вывод строкового массива на экран
Доброго времени суток Такая проблема,я хочу вывести какой-то результат , например &quot;Hello&quot;,но пишет мусор,просто я не совсем...

Узнать длину строкового массива
char s1; cout &lt;&lt; strlen(s1) &lt;&lt; endl; // Выдаёт 62 вместо 26| Как узнать char s2;// | правильный ...

Как удалить цифры из строкового массива
Есть задача: Написать функцию char* superSort (char*) принимающую строку слов, разделенных пробелами. Каждое слово может состоять...

Эстетичный метод ликвидации строкового массива
Если если необходимость ликвидации строкового массива я делаю так: for( ix = 0; text != '\0'; ++ix ) text = '\0'; Если ли более...

Заполнение строкового массива кодами символов
Как сделать, чтобы не было предупреждений? warning C4309: инициализация: усечение константного значения char dictionary = {...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru