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

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

  1. yardie

    yardie Гость

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


    Код:
    #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-интегратор

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

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

    DarkKnight Well-Known Member

    Репутация:
    0
    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Код:
    #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-интегратор

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

    DarkKnight Well-Known Member

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

    yardie Гость

    Репутация:
    0
    Спасибо, всё разобрался)))
     
Загрузка...

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