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

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

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

Вывести одинаковые числа в массиве или сообщение, что таких чисел нет - C++

24.10.2011, 19:25. Просмотров 351. Ответов 3
Метки нет (Все метки)

плиз помогите: дан одномерный массив, вывести одинаковые числа, и вывести если этих чисел нет; когда ставлю иначе(еlse) вывести "одинаковых чисел нет", вот сколько нет совпадений столько он и пишет, как вывести ОДИН РАЗ что нет одинаковых чисел, я понимаю что if стоит в цикле, и else тоже всегда будет в цикле...но без цикла там вроде нельзя, по крайней мере ничего не могу придумать
вот код
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
31
32
33
34
35
36
# include <iostream>
# include <windows.h>
# include <conio.h>
# include <stdlib.h>
 
using namespace std;
int main ()
{   SetConsoleOutputCP(1251);
    const int n=15;
    int a[n];
    printf("\nНеотсортированный массив из случайных чисел:\n");
    int min=10,max=50,i;
    for (int i=0; i<n-1; i++)
        {
        a[i]=  rand() % (max-min+1)+min;
        cout << a[i] <<" ";
        }
        printf("\n Отсортированный массив из случайных чисел:\n");
        int j,A;
        for ( i=0; i<n-1; i++)
             {int imin=i;
            for ( j=i+1;j<n;j++)
                if (a[j]<a[imin]) 
                                                         imin=j;
                                   A=a[i];
                    a[i]=a[imin];
                    a[imin]=A;
             }  
            
              for(i=1;i<n;i++)  cout << a[i] <<" ";
              printf("\n Одинаковые числа:\n");
                for(i=1;i<n-1;i++)
                    if (a[i]==a[i+1])
                    {cout << a[i];}
         _getch();
}
Добавлено через 1 минуту
начиная с 33 строки!!!посмотрите
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2011, 19:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести одинаковые числа в массиве или сообщение, что таких чисел нет (C++):

Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение - C++
Помогите написать код... очень надо для зачета!))) желательно на С++ дев... чтобы с описаниями)) Помогите бедному студенту... Задача. ...

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

Найти минимальное положительное число в заданном массиве, а если таких нет, вывести на экран ноль - C++
Дан одномерный массив А. Найти минимальное положительное число из данного массива. Если положительные числа в наборе отсутствуют, то...

Целочисленный массив. Сжать нулевые элементы, если таких нет вывести сообщение - C++
Дан целочисленный массив из n элеменотов, необходимо сжать нулевве элементы ,если таких нет вывести что это невозможно.

как сделать что-бы код в массиве вывел одинаковые числа? - C++
Помогите по C++,Нужо что-бы числа которые ты повторно ввел в массиве отобразились на екран!! Например : 1 3 4 2 4 5 Вывод : 4 5 ...

Вывести на экран слова, в которых все символы повторяющиеся, или сообщение «Нет», если требуемых слов нет - C++
Дана последовательность символов, состоящая из слов. Вывести на экран слова, в которых все символы повторяющиеся, или сообщение «Нет», если...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,458
24.10.2011, 19:42 #2
tesler, Перед циклом напиши "k = 0"
Потом, если попались одинаковые, "k++"
По окончании цикла
C
1
if (k==0) cout<< "NO";
И еще. Проверка должна быть
C
1
if (a[i-1]==a[i]) ...
0
tesler
3 / 3 / 0
Регистрация: 08.04.2011
Сообщений: 198
25.10.2011, 12:29  [ТС] #3
да но мне нужно вывести не разы а сами числа, а в моем случае получится вот как(с else):
"совпадений нет!" "совпадений нет!" 32 "совпадений нет!".....и т.д(32 - найденное совпадение)

а надо либо "совпадений нет!"(1 РАЗ!!!!) либо "32" (но это он уже делает)
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
26.10.2011, 12:41 #4
попробуй так:

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# include <iostream>
# include <windows.h>
# include <conio.h>
# include <time.h>
 
using namespace std;
int main ()
{       
    SetConsoleOutputCP(1251);
    srand(time(NULL));
    const int n=15;
    int a[n];//={1,1,1,2,2,2,2,3,3,3,3,3,3,4,5};
    printf("\nНеотсортированный массив из случайных чисел:\n");
    int min=10,max=50,i;
    for (i=0; i<n; i++)
    {
        a[i]=rand() % (max-min+1)+min;
        cout << a[i] <<" ";
    }
    printf("\n Отсортированный массив из случайных чисел:\n");
    int j,A;
    for ( i=0; i<n; i++)
    {
        int imin=i;
        for ( j=i+1;j<n;j++)
            if (a[j]<a[imin]) 
                imin=j;
            A=a[i];
            a[i]=a[imin];
            a[imin]=A;
    }
    for(i=0;i<n;i++)  cout << a[i] <<" ";
    printf("\nОдинаковые числа: ");
    int flag=0;
    for(i=0;i<n-1;i++)
        if (a[i]==a[i+1])
        {
            cout << a[i]<<" ";
            flag=1;
            while(a[i]==a[i+1]) i++;
        }
    if(!flag) cout<<"нет\n";
    _getch();
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2011, 12:41
Привет! Вот еще темы с ответами:

Необходимо найти сумму всех положительных элементов массива или определить, что таких элементов нет - C++
Дан массив из n элементов. Необходимо найти сумму всех положительных элементов массива или определить, что таких элементов нет. Ноль...

11.196. Дан массив целых чисел. Найти номер первого элемента, кратного числу 13. Если таких элементов в массиве нет, то должно быть напечатано соответ - C++
11.196. Дан массив целых чисел. Найти номер первого элемента, кратного числу 13. Если таких элементов в массиве нет, то должно быть...

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

Найти все натуральные числа в диапазоне между m и n (m<n), в записи которых нет двух одинаковых цифр. Подсчитать количество таких чисел. - C++
Найти все натуральные числа в диапазоне между m и n (m&lt;n), в записи которых нет двух одинаковых цифр. Подсчитать количество таких чисел.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.10.2011, 12:41
Ответ Создать тему
Опции темы

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