не могу справиться с задачей по С++ |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 7056-й день
![]() |
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
не могу справиться с задачей по С++ |
maxdam |
Пост
#1
|
Репутация: ![]() ![]() Постоялец ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 157 С нами с: 20-March 06 ![]() |
Нужно вводить с клавиатуры числа до тех пор, пока они равны предыдущему введенному, если число уже не равно, цикл завершается.
Определить количество таких элементов последовательности. - считаем счетчиком. Условный оператор не использовать. - if не использовать. -- конструкция... int n = 0, t = 0, i = 0, k = 0; while (i == t) { cin >> n; i = n; t = n; k++; } cout << "Количество попыток: " << k << endl; -- мозг сломал уже себе на этой задаче, она и последняя из всех заданных! Натолкните где поток мысли пошел в неправильное направление. Сообщение отредактировал maxdam - Jan 15 2016, 18:29 |
![]() ![]() |
Bartimeus |
Пост
#2
|
Репутация: ![]() ![]() Активист ![]() Группа: - Пользователи - Сообщений: 455 С нами с: 27-June 09 ![]() |
Коллеги, читайте внимательно условие задачи.
Оригинал задачи: Дана последовательность целых чисел a1, a2, a3 ,..., an, в начале которой записано несколько равных между собой элементов. Определить количество таких элементов последовательности. Условный оператор не использовать. Тоесть у нас на вход есть масив, все что нам нухно это узнать количество одинаковых элементов в начале последовалельности. Тоесть по факту у нас есть случай 1111134967, и я должен почитать количество единиц в начале и вывести его. Если даже заморочится вводом для проверки то будет что-то вроде отдельной функции int arraySize = 0; int counter = 0; cout<<"Input array size" cin>>arraySize; int inputedArray[arraySize]; while(counter<arraySize) { cin>>inputedArray[couner] } Это даст нам начально заполненый масив в соответствии с условием, далее нам необходимо проверить сколько начальных элементов из него иквалы, тоесть int firstElement = inputedArray[0]; int result = 1; //так как один элемент у нас точно есть начальным while((result<inputedArray.size)&&(firstElement==inputedArray[result])) { result++; } return result; Можно сделать отдельных 2 метода, но где то так, как итог на выходе будем видеть количество елементов что задваиваются в начале, так же генерацию масива можно сделать рендомайзом. Сори если ошибки в синтаксисе, компилятора нет под рукой а на С писал очень давно..) Сообщение отредактировал Bartimeus - Feb 10 2016, 16:12 |
![]() ![]() |
![]() |
Упрощённая версия | Сейчас: 10th July 2025 - 9:35 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |