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

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

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

Количество равных чисел - C++

07.09.2010, 22:15. Просмотров 422. Ответов 6
Метки нет (Все метки)

На самом деле задачка простая, и спрашивать стыдно. Но дело то ли в моей недалекоглядности, то ли преподавателя.
Суть такая: есть 4 числа, нужно посчитать, сколько из них одинаковые. Если все равные, вывести 1.
Самым тупым способом писал так:
C++
1
2
3
4
5
6
7
if ((a==b)&&(b==c)&&(c==d))
    p=4;
else if ( ((a==b)&&(b==c)) || ((a==b)&&(b==d)) || ((a==c)&&(c==d)) || ((b==c)&&(c==d)) )
    p=3;
else if ((a==b)||(a==c)||(a==d)||(b==c)||(b==d)||(c==d))
    p=2;
else p=1;
Однако, как оказалось, нельзя (!) использовать И, ИЛИ.
Ладно, вот ему ещё вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
k=0;
if (a==b) k++; //сверяем все пары
if (a==c) k++;
if (a==d) k++;
if (b==c) k++;
if (b==d) k++;
if (c==d) k++;
 
if (k==6) p=4;
else if (k==3) p=3;
else if (k==2) p=2; //например для случая a=b и c=d
else if (k==1) p=2;
else p=1;
А этот вариант просто длинный.
То есть в итоге всё сводится к поиску простейшего алгоритма. А я его в упор не вижу. Подскажите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2010, 22:15     Количество равных чисел
Посмотрите здесь:

Вычислить сумму нечётных чисел и количество чисел равных 0 в последовательности - C++
Дана последовательность чисел, окачивающихся 0. 1. Вычилсить сумму нечётных чисел. 2. Количество чисел равных 0. Используя...

Количество чисел массива равных последнему элементу - C++
Здравствуйте! Помогите мне пожалуйста с задачкой) Дан массив и n целых чисел (n<=100). Найти количество чисел массива равных...

Найти количество чисел, равных между собой, в неубывающей последовательности - C++
Помогите пожалуйста Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность является...

Среди введенных чисел определить количество положительных отрицательных и равных нулю - C++
Ввести в программе n чисел с клавиатуры и определить, сколько среди них положительных, отрицательных и равных 0. Вывести результат на экран.

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

Составить программу, которая находит количество элементов, равных первому элементу, и количество элементов - C++
Условие : Составить программу, которая находит количество элементов, равных первому элементу, и количество элементов, равных последнему, в...

Количество элементов массива,равных 0 - C++
Прошу помочь буду блогодарна ,заранее спасибо!! Вычеслить количество элементов массива,равных 0

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
1249 / 974 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
07.09.2010, 22:25     Количество равных чисел #2
массивы использовать можно?
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
07.09.2010, 22:28     Количество равных чисел #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
#include <stdio.h>
#include <stdlib.h>
 
#define N 4
 
int main()
{
    int i = 0;
    int j = 0;
    int cnt = 0;
    int a[N] = { 1, 0, 1, 0 };
               
    printf("Числа: ");
    for(i = 0; i < N; ++i)
        printf("%d ", a[i]);
    printf("\n");
    
    for(i = 0; i < N; ++i) {
        for(j = i + 1; j < N; ++j) {
            if(a[i] == a[j])
                ++cnt;
        }
    }
    
    if(cnt == 1)
        cnt = 2;
    
    else if(cnt == N)
        cnt = 1;
    
    printf("Результат: %d\n", cnt);
}
Rembrant87
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 10
07.09.2010, 22:31  [ТС]     Количество равных чисел #4
в том то и дело, что без массивов
решение нужно сделать студентам-нубам, которые ещё и булевых операция не знают, не то что циклов/массивов
iama
1249 / 974 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
07.09.2010, 22:34     Количество равных чисел #5
тогда только ваш второй вариант. хотя мож хитромудрыми булевыми операциями и можно достичь одной строки кода
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
07.09.2010, 22:36     Количество равных чисел #6
Цитата Сообщение от Rembrant87 Посмотреть сообщение
решение нужно сделать студентам-нубам, которые ещё и булевых операция не знают, не то что циклов/массивов
тогда пользуйтесь вторым вариантом, только одна переменная там в принципе лишняя.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2010, 22:55     Количество равных чисел
Еще ссылки по теме:

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

Вычислить количество элементов массива, равных 0 - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. количество элементов массива, равных 0; 2. ...

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

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

Найти количество элементов массива, равных 0 - C++
Добрый вечер всем. У меня есть задание: 1.Разработать алгоритм программы, которая решает Ваше индивидуальное задание (варианты...


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

Или воспользуйтесь поиском по форуму:
Rembrant87
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 10
07.09.2010, 22:55  [ТС]     Количество равных чисел #7
эх, жаль.. боюсь, и это чудо забракуют
Yandex
Объявления
07.09.2010, 22:55     Количество равных чисел
Ответ Создать тему
Опции темы

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