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

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

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

Узнать, все ли числа в массиве одинаковые - C++

08.01.2013, 00:03. Просмотров 382. Ответов 4
Метки нет (Все метки)

Обработать массив из целых чисел А (не больше 100 эл-тов), вначале предусматривая заполнение массива числами.
Узнать, все ли числа в массиве одинаковые.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2013, 00:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Узнать, все ли числа в массиве одинаковые (C++):

Как узнать есть ли в массиве одинаковые числа и как найти эти числа ? - C++
Всем привет ,можете помочь как узнать есть ли в массиве одинаковые числа и как найти эти числа . Например массив с элементами 1 4 4 0 2 ....

Одинаковые цифры числа в массиве - C++
Требуется найти первую и последнюю цифры чисел в массиве, и если они равны - вывести. В массиве уже есть значения Допустим int mas =...

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

Проверить есть ли в массиве одинаковые числа - C++
Как можно проверить есть ли в массиве числа с одинаковым значением? числа вводяться с клавиатуры.

Выяснить есть ли одинаковые числа в массиве - C++
Выясните, есть ли одинаковые числа в массиве или же массив содержит только разные. Сосчитайте количество различных чисел в массиве.

Выяснить есть ли одинаковые числа в двумерном массиве - C++
Выясните есть ли одинаковые числа в двумерном массиве или же массив содержит только разные. Заранее спасибо.

4
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
08.01.2013, 00:08 #2
Принцип такой, допилишь под своё условие
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream> 
 
int main() 
{ 
    const int size = 10; 
    int array[size] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; 
    int count = 1, i; 
 
    for ( i = 0; i < size - 1; ++i) 
    {
        if(array[i] == array[i+1]) 
            count++; 
        else 
            break; 
    }
    if(count == size) 
        std::cout << "Yes " << std::endl; 
    else 
        std::cout << "No " << std::endl;
}
1
Doctor_
234 / 234 / 71
Регистрация: 03.02.2011
Сообщений: 1,431
08.01.2013, 00:15 #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
31
32
33
34
35
36
#include <iostream>
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
int main() {
    int n;
    cout << "Array size: ";
    do {
        cin >> n;
        } while(n > 100);
    int vec[n];
    cout << "Input array of " << n << " elments" << endl;
    for(int i=0; i<n; i++) {
            cin >> vec[i];
            }
    system("cls");
    cout << "Array:" << endl;
    for(int i=0; i<n; i++) {
            cout << vec[i] << "  ";
    }
    int count = 0;
    for(int i=0; i<n; i++) {
            if(vec[i] == vec[i+1]) {
                      count++;
                      }
            }
    cout << endl;
    if(count+1 == n) {
             cout << "All elements are equal" << endl;
             } else {
                    cout << "Elements not equal" << endl;
                    }
    getche();
}
1
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
08.01.2013, 09:07 #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
#include <iostream>
#include <cstdlib>
#include <ctime>
bool IsEqual(int *arr, size_t size){
    for(int temp=*arr,*endarr=(arr++)+size;arr<endarr;++arr)
        if (temp!=*arr) return false;
    return true;
}
 
void FillRandom(int *arr, size_t size){
    srand(time(NULL));
    for(int *endarr=arr+size;arr<endarr;++arr)
        *arr=rand()%2;
}
void cout_arr(int *arr, size_t size){
    for(int *endarr=arr+size;arr<endarr;++arr)
        std::cout<<*arr<<' ';
    std::cout<<std::endl;
}
 
int main(){
    const int n=3;
    int arr[n];
    FillRandom(arr,n);
    cout_arr(arr,n);
    std::cout<<(IsEqual(arr,n)?"All elements are equal":"Elements not equal")<<std::endl;
    return 0;
}
0
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
08.01.2013, 14:56 #5
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
45
#include <iostream>
 
std::istream& readArr(int* arr, int n) {
    
    for(int i = 0; std::cin.good() && i < n; ++i) {
            
        std::cout << "[" << i + 1 << "\\" << n << "]: ";
        std::cin >> arr[i];        
    }
    
    return std::cin;
}
 
bool allEqual(const int* arr, int n) {
    
    for(int i = 1; i < n; ++i)
        if(arr[i] != arr[0])
            return false;
    
    return true;
}
 
int main() {    
    
    const int maxLen = 100;
    int arr[maxLen];
    
    int n;
    std::cout << "input n(1 <= n <= " << maxLen << "): ";
    std::cin >> n;
    
    if(std::cin.fail() || n < 1 || n > maxLen) {
            
        std::cout << "error" << std::endl;
        return 1;
    }
    
    if(!readArr(arr, n)) {
            
        std::cout << "error" << std::endl;
        return 1;
    }
    
    std::cout << "all the elements are equal: " << (allEqual(arr, n) ? "yes" : "no") << std::endl;
}
0
08.01.2013, 14:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2013, 14:56
Привет! Вот еще темы с ответами:

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

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

Вывести одинаковые числа в массиве или сообщение, что таких чисел нет - C++
плиз помогите: дан одномерный массив, вывести одинаковые числа, и вывести если этих чисел нет; когда ставлю иначе(еlse) вывести &quot;одинаковых...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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