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

задача на массивы. - C++

Восстановить пароль Регистрация
 
IIIKBAJL
 Аватар для IIIKBAJL
2 / 2 / 0
Регистрация: 02.04.2011
Сообщений: 37
31.10.2011, 09:52     задача на массивы. #1
Ломаю голову над такой вот загагулиной
допусим есть 16ти элементный массив возможные значения в нем так же 1 -16
13 13 13 4 13 14 6 16 2 5 6 13 14 3 15 1 нужно определить какое число сколько раз использовалось и превести ето в форму:
1 1 1 1 1 2 0 0 0 0 0 0 5 2 1 1 - из того массива следует(если вести отщет с 0) что 12 элемент массива использовался 5ть раз - Теперь ВОПРОС мне нужно поочередно передать значения не равные 0 в функцию начиная с большого в таком порядке:
первый - 12 элемент, так как тут максиммум.
второй - 13 элемент
третий - 5 элемент
четвертый - 0 элемент
пятый - 1 элеент и тд по порядку.
ВЫРУЧИТЕ ПЛИЗ
У меня ето выглядит пока так :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int TForm1::ForIn()
{
 int l;   // хранит номер разряда массива
 int z=l;  // думал использовать для какого нибудь сравнения в следуюшем поиске 
 int p=0;
 for(int i=0;i<=15;i++)
    {
        if(ab[i]>p && ab[i]!=0)
          {
 
            p=ab[i];  // ab[] - ето и есть массив 1 1 1 1 1 2 0 0 0 0 0 0 5 2 1 1
            l=i;
          }
         else continue;
    }
    if (p!=0)
    FindInAll(l+1,1); // функция дальнейшей обработки там все вроде понятно
 
    ab[l]=0;
 return p;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 09:52     задача на массивы.
Посмотрите здесь:

задача на массивы C++
Задача на массивы. C++
C++ Задача на массивы
Задача на массивы C++
задача на массивы C++
C++ задача на массивы
Задача на массивы C++
задача на массивы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,990
31.10.2011, 15:36     задача на массивы. #2
Заведи еще один 16-элементный массив и там помечай, какие элементы из исходного ты уже использовал.
Поначалу инициализируй этот массив нулями. Использовал какой-то номер - ставь единичку.
При просмотре помеченные пропускай.
И будет тебе счастье

Добавлено через 2 минуты
Если чисел и правда так мало, можно завести битовую шкалу (unsigned int) и отмечать битиками с помощью поразрядных операций &, |, <<
Yandex
Объявления
31.10.2011, 15:36     задача на массивы.
Ответ Создать тему
Опции темы

Текущее время: 09:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru