Проверить есть ли в массиве одинаковые числа

Тема в разделе "Общие вопросы по С и С++", создана пользователем yardie, 12 окт 2010.

  1. yardie

    yardie Гость

    Как можно проверить есть ли в массиве числа с одинаковым значением? числа вводяться с клавиатуры.
    моя программа не работает так как нужно(((


    Код (C++):
    #include <iostream>
    using namespace std;
    void main()
    {
    int a[8], b=0;
    int i,j,c=0;
    bool ex=false;
    for ( i=0; i<8; i++)
    {
    cin >> a[i];
    for ( j=0; j<8; j++)

    if (a[i] == a[j])
    ex=true;
    }
    if(ex)
    cout<<"Exist same";
    else
    cout<<"All different";
    cin.get();
    cin.get();
    }
     
  2. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    1. Отсортировать массив.
    2. В цикле со второго элемента массива по количество элементов условие:
    Если А[n] = A[n-1] Тогда есть совпадение и возврат.
    Если весь цикл прошли, значит совпадений нет.

    Код сами напишите или денег заплатите?
     
  3. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Код (C++):
    #include <iostream>
    using namespace std;
    void main()
    {
    int a[8], b=0;
    int i,j,c=0;
    bool ex=false;
    for ( i=0; i<8; i++) //Цикл ввода элементов *с этим согласен
    {
    cin >> a[i]; //осуществляем ввод
    //for ( j=0; j<8; j++) //(!!!)Не верно мы только начинаем вводить, проверять впринципи еще нечего
    //Если хотим пойти этим путем то :
    for ( j=0; j<=i; j++)
    if (a[i] == a[j] && i!=j)
    {
    ex=true;
    break; //Выйдем что бы время не занимать
    }
    //тут можно сразу выйти и не ждать ввода оставшихся элементов
    //для этого просто включить проверку переменной ex
    // if (ex) break; //но если нужно все же все элементы ввести, можно и не ставить, хотя рез. уже известен
    }

    if(ex)
    cout<<"Exist same";
    else
    cout<<"All different";
    cin.get();
    cin.get();
    }
    Посмотрите его код, он его написал почти правельный... С небольшим недочетом, о каких деньгах речь?
     
  4. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    DarkKnight125, я просто отвечал на вопрос "Как можно проверить есть ли в массиве числа с одинаковым значением?", в первом посте автора. Если бы был вопрос "Что неправильно в моем коде?", стал бы смотреть код. А связи с вопросом "Как...", посчитал остальной текст мусором. Ну что ж тут поделаешь, если у меня мусорофильтр так работает?
     
  5. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Фит))) Да я тя понимаю)))) сам иной раз в шоке от прочитанного в постах после фразы "Как ... ?", а ты еще и админ )))) )))) Из вопроса я бы и сам про сортировку подумал)) Если бы код его не прочитал))))
    А так просто увидел, что парень не из тех, кто спрашивает то, что совсем даже близко не представляет)))
    Вообще поверь, не хотел обидеть))))
     
  6. yardie

    yardie Гость

    Спасибо, всё разобрался)))
     
Загрузка...

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