Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > помогите срочно!!!!! |
Автор: EnShTe1N 12.12.2007, 18:18 |
Кароче такая задача: K) Дан массив, отсортированный по возрастанию (каждый элемент массива не меньше предыдущего элемента, например, {1, 2, 2, 3, 3, 3}). Найдите количество различных чисел в этом массиве. помогите умоляю, выложите код |
Автор: Andrey44 12.12.2007, 18:24 | ||
Вроде-бы так. |
Автор: EnShTe1N 12.12.2007, 18:26 |
Andrey44, а можно поподробнее! где задавать сайз и тд? выложи полный код(включая иострим, маин) Добавлено через 3 минуты и 32 секунды и кстати я посмарел твое решение - оно не верно! Добавлено через 4 минуты и 16 секунд в том смысле что ты находиш различны ли соседние элементы, а надо найти скока в массиве всег оразличных элементов |
Автор: Andrey44 12.12.2007, 18:34 | ||
Не проверял. Попробуй Добавлено @ 18:37 Все должно работать. Проверь этот код. В count будет количество разных элементов Добавлено @ 18:37 После if убери ; |
Автор: EnShTe1N 12.12.2007, 18:41 |
чет не работает! пишет просто нажмите любую кл для продолжения! Добавлено через 38 секунд и кстати где задавать размер массива? Добавлено через 2 минуты и 39 секунд но самое интересное: где вводить сам массив??? |
Автор: Andrey44 12.12.2007, 18:44 | ||
Так напиши внутри последнего цикла
|
Автор: EnShTe1N 12.12.2007, 18:48 |
не а вводить его самому то можно??? |
Автор: Andrey44 12.12.2007, 18:51 |
Вводить что? Вручную заполнять массив? |
Автор: EnShTe1N 12.12.2007, 18:51 |
да! код пожалуйсто! ![]() |
Автор: Andrey44 12.12.2007, 18:54 | ||
Я конечно понимаю, ты парень наверное хороший, но иногда и самому надо подумать.
|
Автор: EnShTe1N 12.12.2007, 18:56 |
слушай я вот до твоего поста сделал ввод самого массива тоесть cin >> vec[i]; вроде работает прально!!!! |
Автор: bsa 12.12.2007, 18:58 | ||
да. правильно. |
Автор: Andrey44 12.12.2007, 19:01 |
Ну конечно можно и так. Это я просто для наглядности. Чтоб понятно было ![]() |
Автор: bsa 12.12.2007, 20:17 | ||
cin << digit - наглядный пример, как делать не стоит ![]() |
Автор: Wowa 12.12.2007, 20:18 |
Модератор: Название темы должно отражать ее суть! Правила форума: http://forum.vingrad.ru/index.php?act=boardrules |
Автор: Warchief 12.12.2007, 21:09 | ||
извините, что вмешиваюсь, но разве эта часть кода делает, то что написано в задании?
Ведь если если массив будет {1,2,3,4,1,4}, то в переменной count будет присвоено значение 5, или я ошибаюсь? ![]() |
Автор: EnShTe1N 12.12.2007, 21:47 |
Да действительно, программа делает не то!!! Но я все таки придумал правильный код, так что =Ъ |
Автор: baldina 12.12.2007, 22:12 |
cout>>count; cin<<digit; Andrey44, вы лево и право не путаете? ![]() |
Автор: gamedeveloper 12.12.2007, 22:39 | ||
Вроде так. Andrey44, путаешь операторы вставки/взятия в/из потока с самими потоками. |
Автор: Andrey44 13.12.2007, 09:14 | ||
Точно спутал. Извиняюсь, давно не работал с потоками ввода-вывода ![]() А под рукой не было как проверить. Еще раз извиняюсь если ввел кого-то в заблуждение. Добавлено через 4 минуты и 26 секунд Warchief,
А разве в задании не было сказано , что массив отсортирован по-возрастанию. Если-бы было по-другому написано, то и код был-бы другой. |
Автор: zkv 13.12.2007, 09:19 |
я тоже постоянно забываю в какую сторону их рисовать, помогает простое правило: при input потоке (e.g. cin) направление из потока в переменную при output обратно. |
Автор: Andrey44 13.12.2007, 09:25 |
zkv, ![]() Спасибо, постараюсь запомнить! |
Автор: Warchief 13.12.2007, 17:44 | ||
Извините, не правильно прочитал задание ![]() ![]() |
Автор: FK2703 16.12.2007, 13:53 |
очень прошу помощи с задачей "Золотая гора" ("Треугольник") на C Входной файл input.txt Выходной: output.txt Идея-подсказка, предложенная мне: "Реализация проста-делай двумерный массив и пускай цикл снизу. Последняя строка совпадает с исходной, а дальше подымайся вверх и выбирай максимум из двух. a[0][0] твой ответ" Пример правильного input.txt: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Первое число во входном файле (5) - количество строк в треугольнике. Соответственно, остальные - его заполнение. Надо найти сумму чисел, расположенных на пути, начинающемся в верхней точке треугольника и заканчивающимся на основании. Условия: 1. Каждый шаг на пути может осуществляться вниз по диагонали влево или вниз по диагонали вправо. 2. Число строк в треугольнике - от 1 до 100 3. Треугольник составлен из простых чисел от 0 до 99 Выходные данные. В файл output.txt записывается только наибольшая сумма в виде целого числа. Для треугольника из примера правильно работающая прога запишет: "30" Если не сдам в понедельник - не допустят до сессии, хотя это - последний оставшийся зачёт( |
Автор: kolyan 16.12.2007, 16:46 |
Очень нужна помощь. необходимо решить задачу в C++! Вот условие: Ввести последовательность из 25 нечётных чисел с клавиатуры. Найти наибольшее число из введенных элементов. Решение желательно приводить через printf, C++ Мы только начали изучать, я ничего не понял, прокоментируйте если можно. Заранее спасибо! |
Автор: baldina 16.12.2007, 17:34 | ||||||||||
kolyan,
вводишь при помощи
далее проверяешь, является ли оно нечетным (нечетное даёт в остатке от деления на 2 единицу, операция получения остатка - %). Если четное - выводишь предупреждение и повторяешь ввод. И так 25 раз.
Наибольшее число можно искать по ходу, не запоминая все числа: заводишь переменную для значения максимального числа, например m. m надо присвоить начальное значение, заведомо меньшее любого введенного. Например, полагая, что для ввода разрешены только положительные числа, можно смело дать начальное значение = 0. На каждом шаге цикла сравниваешь введенное число с m, и если введенное больше m, запоминаешь его как новое значение m.
в конце выводишь на печать m
Думаю этого вполне достаточно, что б остальное ты сам написал. |
Автор: kolyan 16.12.2007, 17:56 |
baldina, спасибо большое, что откликнулся! Есть еще вопрос... Какие нужно библиотеки запускать, прогу я прописал, но выдает какую-то ошибку! А что нужно для \ввод, проверки и проч.\, извени за тупые вопросы!!!!!!! |
Автор: baldina 16.12.2007, 18:35 |
Какую именно ошибку? Никаких особенных библиотек не надо, все есть в самом С++. Ты приложение консольное создал? для ввода используется функция scanf для вывода используется функция printf для проверки используется оператор if все это есть в моём посте |
Автор: baldina 16.12.2007, 18:42 |
Ну тогда тебе в http://forum.vingrad.ru/forum/Vingrad-help-center.html |
Автор: zkv 16.12.2007, 19:02 |
kolyan, тебе в Центр помощи. Ссылку дали. Создай свою тему. Но сначала познакомься с правилами форума. |
Автор: archimed7592 16.12.2007, 20:12 |
Спасибо за тему - поржал от души ![]() |