Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчет количества различных элементов, Массивы 
:(
    Опции темы
Belirafor
Дата 14.3.2010, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 15.8.2009

Репутация: нет
Всего: нет



Вот код. Теоретичеси должен считать. Но выдает неверный результат. Почему? Просьба готовых решений не выкладывать. Хотелось бы детально разобраться самому. Алгоритм предполагает, что элемент уникальный (значит не повторяется). Если он повторяется, то элемент не засчитывается и поиск продолжается.
Например последовательность: 2 5 9 6 9 3 1 1 2. Уникальные значения таковы 5 6 9 3 1 2. Их шесть. А программа выводит далеко не то, что ожидается. С чего она берет результат я не понял.

Код

#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;

int main()
{
    cout << "Дан одномерный массив целых чисел. Необходимо\n";
    cout << "подсчитать количество различных чисел в массиве.\n";
    cout << "Например: массив 1 2 1 3 3 2 содержит 3 различные\n";
    cout << "цифры - это 1, 2 и 3.\n";
    cout << endl;

    const int n = 6;
    int mass[n], i;

    cout << "Массив имеет вид: ";
    srand (time(NULL));
    for (i = 0; i < n; i++)
    {
        mass[i] = random()%4;
        cout << mass[i] << " ";
    }
    cout << endl;

    int count = 1;

    for (i = 0; i < n - 1; i++)             //Начинаем цикл (n - 1, поскольку последнее значение окажется 100% уникальным)
    {

        for (int tmp = i + 1; tmp < n; tmp++)       //Этот цикл отвечает за выбор элемента
        {
            if (mass[i] == mass[tmp]) {break;}
            if (mass[i] != mass[tmp]) {count++;break;}
        }

    }

    cout << "Количество различных элементов: " << count;
    return 0;
}



Это сообщение отредактировал(а) Belirafor - 14.3.2010, 02:28
PM MAIL   Вверх
borisbn
Дата 14.3.2010, 04:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Во втором цикле нужно проверить mass[i] на неравенство со ВСЕМИ элементами массива, а у тебя при первом же несовпадении делается вывод, что элемент уникальный


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Belirafor
Дата 14.3.2010, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 15.8.2009

Репутация: нет
Всего: нет



ммм... Глянемс... =)

Это сообщение отредактировал(а) Belirafor - 14.3.2010, 15:26
PM MAIL   Вверх
mes
Дата 14.3.2010, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250





--------------------
PM MAIL WWW   Вверх
Trotter
Дата 14.3.2010, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.10.2006
Где: Нижний Новгород

Репутация: нет
Всего: 0



Откуда ты берёшь эти задачи ?) задачник не подкинешь, я бы тоже по практиковался)
PM MAIL ICQ   Вверх
Belirafor
Дата 18.3.2010, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 15.8.2009

Репутация: нет
Всего: нет



Этот задачник - курс задач по С++, если хочешь могу скинуть сами задачи, пиши в ПМ или в асю 986-093.

Это сообщение отредактировал(а) Belirafor - 18.3.2010, 22:05
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0733 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.