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

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

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

Программа запрашивает массив, в котором N целых чисел, и выводит на экран имеются ли в массиве одинаковые числа - C++

20.04.2014, 00:50. Просмотров 313. Ответов 3
Метки нет (Все метки)

Не могу понять почему он не выводит все совпадения а только совпадения с первым элементом.

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
#include <iostream >
using namespace std;
 
int main()
{
    int N;
    double a[N];
    time_t t;
    srand((unsigned) time(&t));
    
    cout << "Enter the number of elements: " << endl;
    cin >> N;
    
    for(int i=0;i<N;++i)
        a[i] =rand()%4; // это просто к примеру для простоты понимания так взял
        
        for(int i=0;i<N;++i)
                cout << i << ": " << a[i] << endl;    // это для проверки 
        
        int i=0;
        while(i<N)
        {
                  for (int m=0; m!=i && m<N && a[m]==a[i]; ++m)
                      {    cout << m << " = " << i << endl;    }
        ++i;
        }
    
    system("pause");
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 00:50     Программа запрашивает массив, в котором N целых чисел, и выводит на экран имеются ли в массиве одинаковые числа
Посмотрите здесь:

Программа, которая запрашивает у пользователя два числа и выводит на экран их частное - C++
Создайте программу, которая запрашивает у пользователя два числа и выводит на экран их частное. Программа должна выдавать пользователю...

Дан массив из 20 вещественных чисел. Определить, есть ли в массиве одинаковые числа и вывести их на экран - C++
Дан массив из 20 вещественных чисел. Определить, есть ли в массиве одинаковые числа и вывести их на экран.

Напишите программа, которая вводит два целых числа и выводит на экран остаток от деления первого числа на втор - C++
1.Напишите программа, которая вводит два целых числа и выводит на экран остаток от деления первого числа на второе. Ввод 10 4 11...

Программа которая запрашивает 2 числа и выводит на стандартное устройство вывода все числа, которые находятся между ними - C++
вот мой код, только вот если вводишь 9 и 100, идёт сначала 9 и до 100, как сделать что бы сначало 10 и до 100) #include &lt;iostream&gt; ...

Сгенерировать массив из 20 чисел в интервале 0 до 100. Определить есть ли в массиве одинаковые числа. - C++
Сгенерировать массив из 20 чисел в интервале 0 до 100. Определить есть ли в массиве одинаковые числа.

Дан массив целых чисел. Определить все уникальные числа в массиве и сколько раз каждое из них встречается в массиве. - C++
Написать программу для решения следующей задачи. Дан массив целых чисел. Определить все уникальные числа в массиве и сколько раз каждое из...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
20.04.2014, 01:12     Программа запрашивает массив, в котором N целых чисел, и выводит на экран имеются ли в массиве одинаковые числа #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Limonadik Посмотреть сообщение
int N;
* * double a[N];
Объявление массива? а ничего что N еще непроинициализирована??

Добавлено через 7 минут
Limonadik, так не проще ли
C++
1
2
3
4
   for(int i=0; i<N-1; i++)
        for(int j=i+1; j<N; j++)
            if(a[i]==a[j])
                cout<<"["<<i<<"] = ["<<j<<"]\n";
Limonadik
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 3
20.04.2014, 01:37  [ТС]     Программа запрашивает массив, в котором N целых чисел, и выводит на экран имеются ли в массиве одинаковые числа #3
cooller_94

Огромное спасибо - работает. Меня точно уже не в ту степь понесло.

А что не так с инициализацией? Как по другому это сделать если число элементов надо вводить по условию задачи?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 01:45     Программа запрашивает массив, в котором N целых чисел, и выводит на экран имеются ли в массиве одинаковые числа
Еще ссылки по теме:

Определить, имеются ли в заданном массиве одинаковые числа и сколько раз они встречаются; удалить дубли - C++
2. Дан одномерный массив, заполненный случайными числами. Найти, есть ли одинаковые числа и сколько раз встречаются. уплотнить массив,...

Программа, которая запрашивает у пользователя его имя, год рождения, а затем выводит эту информацию на экран - C++
Доброго времени суток! Кому не составит труда, напишите, пожалуйста, программу, которая запрашивает у пользователя его имя, год рождения, а...

Оператор if (для чисел от нуля до пяти программа выводит на экран тексотовое название числа) - C++
Составить программу, которая принимает числа с клавиатуры. Ддя чисел от нуля до пяти программа выводит на экран тексотовое название числа.

Дан массив целых чисел с 0 ,вывести на экран все числа кроме 0 - C++
Дан массив целых чисел с 0 ,вывести на экран все числа кроме 0

Сформировать одномерный массив целых чисел. Выбрать все чётные числа. Вывести на экран - C++
Сформировать одномерный массив целых чисел. Выбрать все чётные числа. Вывести на экран.

Дан двумерный массив целых чисел. В пятой строке имеются элементы, равные 13! - C++
Дан двумерный массив целых чисел. В пятой строке имеются элементы, равные 13. Определить номер столбца, в котором расположен самый левый ...


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

Или воспользуйтесь поиском по форуму:
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
20.04.2014, 01:45     Программа запрашивает массив, в котором N целых чисел, и выводит на экран имеются ли в массиве одинаковые числа #4
Цитата Сообщение от Limonadik Посмотреть сообщение
А что не так с инициализацией? Как по другому это сделать если число элементов надо вводить по условию задачи?
Вы объявили N, но не проинициализировали ее. После этого, объявляете массив размером N. А это значит что массив будет размером "попробуй угадать" и скорей всего приведет к ошибке.
Также, в таких случаях лучше использовать динамическое выделение памяти, так как компилятор должен знать размер массива во время компиляции, а не во время исполнения
Вот так, например
C++
1
2
3
int N;
std::cin>>N;
int *arr = new int [N];
Yandex
Объявления
20.04.2014, 01:45     Программа запрашивает массив, в котором N целых чисел, и выводит на экран имеются ли в массиве одинаковые числа
Ответ Создать тему
Опции темы

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