Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Smed
0 / 0 / 0
Регистрация: 14.01.2008
Сообщений: 3
#1

C++, Одномерный массив - разминка для мозгов

14.01.2008, 04:35. Просмотров 2009. Ответов 4
Метки нет (Все метки)

Есть следующая задачка:
"Используйте одномерный массив для решения. Считать 100 чисел, каждый из которых между 1 и 10 включительно(подразумевается использование только int). После считывания каждого числа, вывести его на экран только если он не повторяет уже считанное и показанное число. Используйте наименьший возможный массив для решения."

Есть решение, но не уверен что оно оптимальное... Возможно ли использование массива меньше 10 ??? (естественно не используя 10 int)

Код
int arr[10]={0,0,0,0,0,0,0,0,0,0};
int num=0,i=0,j=0,k=0;
bool key;
  /* считывание 100-та чисел */
 for(i=0;i<100;i++)
 {
  cout<<"Enter number #"<<i+1<<" ";                 
   cin>>num;
   key=false;
   j=0;

   /* проверка былоли уже такое число*/
   while(j<10 && key==false)
       if (arr[j]==num)
           key=true; 
       else
           j++;

   /* если не было */
   if (key==false)
      {
        cout<<num<<endl;
        arr[k]=num;
        k++;
      }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2008, 04:35
Ответы с готовыми решениями:

Разминка для мозгов
Необходимо выполнить задания, написав их на языке С: 1) Нарисовать схему...

Разминка для профессианалов
Помогите решить детскую задачу Условие: В телефонной книге 100 номеров...

Матрица и одномерный массив (Составить одномерный массив, содержащий количество буквенных символов в каждом из ее столбцов, подсчет символов)
Помогите решить задачку: Дана матрица 5х7, элементами которой являются...

Цикл для вывода min чисел в одномерный массив
Цикл для вывода min чисел в одномерный массив

Для матрицы А(4 строки ,4 столбца) сформировать одномерный массив B из 4 элементов
Друзья, может у кого есть исходники? на любом языке программирования, буду...

4
vadim55
0 / 0 / 0
Регистрация: 01.01.2008
Сообщений: 6
14.01.2008, 10:44 #2
Вам понадобится массив всего из одного элемента!
в целом числе 4 байта,32 бита.
придеться работать с битами и >> или <<
подумайте в этом направлении...

для 1 нужен 1 бит, для 2 нужно 2 бита, для 3 нужно 2 бита и.т.д
думайте!
0
Smed
0 / 0 / 0
Регистрация: 14.01.2008
Сообщений: 3
15.01.2008, 04:45  [ТС] #3
В принципе можно вообще без массива написать, но тогда придется вводить довольно таки много не совсем нужных переменных... Вы имеете в виду побитное сравнение ввода? Тогда не совсем понятно что будет хранится в элементе массива...
0
vadim55
0 / 0 / 0
Регистрация: 01.01.2008
Сообщений: 6
15.01.2008, 10:31 #4
я сейчас понял как совсем просто можно решить
1.берем массив из одного элемента
2.если первый раз например число 1
3.устанавливаем первый бит в 1.
если второй раз пришло число 1 проверяем с помощью маски
например if(num & 0x01)
для каждого числа использовать 1 бит(поднят или нет)
и соответствующую маску для проверки

начните писать и я вам помогу
0
Smed
0 / 0 / 0
Регистрация: 14.01.2008
Сообщений: 3
18.01.2008, 07:45  [ТС] #5
Цитата Сообщение от vadim55 Посмотреть сообщение
я сейчас понял как совсем просто можно решить
1.берем массив из одного элемента
2.если первый раз например число 1
3.устанавливаем первый бит в 1.
если второй раз пришло число 1 проверяем с помощью маски
например if(num & 0x01)
для каждого числа использовать 1 бит(поднят или нет)
и соответствующую маску для проверки
начните писать и я вам помогу
красивый алгоритм и что важнее рабочий... спасибо!
0
18.01.2008, 07:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2008, 07:45

Cформировать одномерный массив Y, для элементов которого выполняется условие
C++ Дан двумерный массив X. Cформировать одномерный массив Y, для элементов...

Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов
Для заданной квадратной матрицы сформировать одномерный массив из ее...

Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов
Для заданной квадратной матрицы сформировать одномерный массив из ее...


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

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

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