Линейный Поиск Числа В Массиве

Тема в разделе "C/C++/C#", создана пользователем ЮрийПрп, 27 сен 2013.

  1. ЮрийПрп

    ЮрийПрп New Member

    Регистрация:
    27 сен 2013
    Сообщения:
    3
    Симпатии:
    0
    Здравсвуйте все,
    есть програмный код(C++),он работает ,но остался один вопрос :
    после генератора случайных чисел есть повторяющиеся значения ,однако на вывод идёт только первое число,
    как сделать что бы вышли все значения (если конечно таковые имеются)


    #include <iostream>
    #include <cstdlib>

    using namespace std;

    int main()
    {
    const int MAX = 100;
    int result[MAX];
    bool found = false;
    int search = 0;
    int criterion = 0;

    //initialize the random number generator
    srand(time(NULL));

    for (int index = 0; index < MAX; index++) {
    result[index] = rand() % 200;
    }

    cout << "The result ​​are: " << endl;
    for (int index = 0; index < MAX; index++)
    cout << result[index] << ' ';

    cout << endl;
    cout << "Search for what? ";
    cin >> criterion;

    while ((search < MAX) && (found == false)) {
    if (result[search] == criterion)
    found = true;
    else
    search++;
    }

    if (found == true)
    cout << "The value of " << criterion << " is located at the position " << search + 1<<endl;
    else
    cout << "The value of " << criterion << " was not found. " << endl;

    return 0;
    }



    Заранее благодарен,Юрий.
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Код (Text):
    while ((search < MAX)) {
    if (result[search] == criterion)
    found = true;
    else
    search++;
    }
    так?
     
  3. ЮрийПрп

    ЮрийПрп New Member

    Регистрация:
    27 сен 2013
    Сообщения:
    3
    Симпатии:
    0
    не совсем,
    после ввода числа (cin>>criterion;)
    тема виснит
     
  4. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Код (Text):
    #include <iostream>
    #include <cstdlib>

    using namespace std;

    int main()
    {
    const int MAX = 100;
    int result[MAX];
    bool found = false;
    int search = 0;
    int criterion = 0;

    //initialize the random number generator
    srand(time(NULL));

    for (int index = 0; index < MAX; index++)
    result[index] = rand() % 200;

    cout << "The result ​​are: " << endl;
    for (int index = 0; index < MAX; index++)
    cout << result[index] << ' ';

    cout << endl;
    cout << "Search for what? ";
    cin >> criterion;

    while ((search < MAX)) {
    if (result[search] == criterion) {
    cout << "The value of " << criterion << " is located at the position " << search + 1<<endl;
    found = true;
    }
    search++;
    }

    if (found == false)
    cout << "The value of " << criterion << " was not found. " << endl;
    }
    Заходите еще )
     
  5. ЮрийПрп

    ЮрийПрп New Member

    Регистрация:
    27 сен 2013
    Сообщения:
    3
    Симпатии:
    0
    Всё работает.
    Большое спасибо за помощь.
     
Загрузка...

Поделиться этой страницей