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

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

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

Поиск в списке: выводить все совпадения, а не только первое - C++

02.06.2016, 11:06. Просмотров 132. Ответов 1
Метки нет (Все метки)

поиск работает, но выводит только первый найденный элемент, а необходимо чтобы выводил все совпадения
C++
1
2
3
4
5
6
7
8
9
10
void poisk(TEST *ptr, string ch)
{
    while (ptr->q_text != ch && ptr->pright->pright)
        ptr = ptr->pright->pright;
    if (ptr->q_text == ch) {
        cout << "The right answer - "; cout << ptr->pright->c_answer << endl;
        cout << "The wrong answer - "; cout << ptr->pdown->c_answer << endl;
    }
    else cout << "No search results" << endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2016, 11:06     Поиск в списке: выводить все совпадения, а не только первое
Посмотрите здесь:
C++ Функция: поиск совпадения в строке
Нужно продублировать первое чётное число в односвязном списке C++
C++ функции рекурсия (Введить первое, третье, пятое и т.д. с вивединих чисел. Завершальний ноль выводить не над)
В списке Р заменить первое вхождение списка Р1 (если такое есть) на список Р2 C++
C++ Пользователь вводит отдельно строку и символ, необходимо показать на экран номер только последнего совпадения
Найти первое вхождение списка сотрудников в общем списке и циклически сдвинуть элементы согласно условию C++
C++ Достать из текста все совпадения с помощью регулярных выражений
C++ Нужна программа, которая по регулярному выражению находит все совпадения в строке
При вводе строки выводить только цифры C++
C++ Считывается только первое слово из строки
Из файла копируется только первое слово C++
Рекурсия: как выводить на экран только удовлетворяющие условия C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,174
02.06.2016, 15:02     Поиск в списке: выводить все совпадения, а не только первое #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void poisk(TEST *ptr, string ch)
{
    int c = 0;
 
    do
    {
    if (ptr->q_text == ch)
    {
        ++c;
        cout << "The right answer - "; cout << ptr->pright->c_answer << endl;
        cout << "The wrong answer - "; cout << ptr->pdown->c_answer << endl;
    }
 
    ptr = ptr->pright->pright;
    }
    while (ptr->pright->pright);
 
  if (c == 0) cout << "No search results" << endl;
}
Ответ Создать тему
Опции темы

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