Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2009, 09:06   #1
dima92
 
Регистрация: 08.10.2009
Сообщений: 4
По умолчанию C++ массивы

Помогите пожалуйста решить задачу:
Дан массив, состоящий из 50 целых чисел
а)Вывести все числа, которые встречаются в этом массиве несколько раз
б)Вывести все числа, которые встречаются в массиве только один раз
dima92 вне форума Ответить с цитированием
Старый 08.10.2009, 09:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Наработки есть?
Как сам то демаешь?
Если никак то стратегия может быть такой:
Массив двумерный. в первом число, во втором ее количество.
При вводе числа, проходишь по массиву, если такое же найжено увеличиваешь количество , иначе дописываешь в массив новое.
Потом просто проходишь и смотришь у каого количество вхождений более 1 у кого равно одному.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2009, 09:27   #3
Consol
Пользователь
 
Регистрация: 19.08.2009
Сообщений: 89
По умолчанию

Код:
bool l;
for (int i=0;i<50;i++)
{
   for (int j=0;j<50;j++)
   {  l=false;
      if (a[i]==a[j] && i!=j){l=true;break;}
      
   }
  if(l==fales) cout<<a[i]<<"\n";
}
для тех которые встречаются один раз

а числа которые встречаются больше одного раза надо выводить сколько раз???

Последний раз редактировалось Stilet; 08.10.2009 в 11:37.
Consol вне форума Ответить с цитированием
Старый 08.10.2009, 10:32   #4
dima92
 
Регистрация: 08.10.2009
Сообщений: 4
По умолчанию

Надо лишь один раз вывести, у меня получалось, только когда он их все выводит, то есть если есть 4 4, то он и выведет типо 4 4, а надо чтобы одну вывел!
dima92 вне форума Ответить с цитированием
Старый 08.10.2009, 11:08   #5
Consol
Пользователь
 
Регистрация: 19.08.2009
Сообщений: 89
По умолчанию

Код:
bool l,ll;
  for (int i=0;i<50;i++)
  {   
      int j=i+1;
      l=false;
      while(j<50)
      {
         if (a[i]==a[j]&&i!=j){l=true;break;}
         j++;
      }
      int k=0;
      if (l)
      {  ll=false;
         while(k<i)
         {
            if (a[i]==a[k]){ll=true;break;}
            k++;
         }
         if (ll==false)cout<<a[i]<<"\n";
      }
  }
Работает проверял
Consol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Массивы Ronk Паскаль, Turbo Pascal, PascalABC.NET 1 04.06.2009 19:58
Массивы [C++] Иван 883 Помощь студентам 0 08.04.2009 20:39
Массивы С++ Nina+ Помощь студентам 2 19.03.2009 11:44