Перейти к публикации
  • Сейчас на странице   Всего пользователей: 24   (0 пользователей, 24 гостя)

Hed-kun

Программирование, т. 5.1.

Рекомендованные сообщения

Чет не могу в алгоритм никак, вроде тривиальная задачка на с++:

 

На стандартный вход программе подается последовательность разделённых пробелами положительных целых чисел, заканчивающаяся нулем. Требуется вывести эту же последовательность в обратном порядке (без нуля), разделяя числа пробелами. При этом запрещается использовать массивы (и строки)

 

Не могу придумать, как мне выводить в обратном порядке. В голову приходит только использовать итератор и записывать промежуточные значения в массив, но так нельзя

 

Хз я наверное не вижу очевидного :lol:

 

 

 

void func()

{

cin >> a;

if(a==0) return;

else

{

counter++;

if(counter!=1) cout << " ";

cout << a;

func();

}

}

 

int main()

{

func();

getch();

return 0;

}

 

 


Здравствуйте, мы тут навеселе, а у вас такие лица будто вы посетили музей

Поделиться сообщением


Ссылка на сообщение

стоп, а куда и как последовательность-то вводится? по очереди типа? посимвольно или по'циферно'?

Поделиться сообщением


Ссылка на сообщение

последовательность вводится стандартным вводом cin, в консоли строка ввода выглядит примерно так 10 20 304 1421414 0, вывод, соответственно, 1421414 304 20 10


Здравствуйте, мы тут навеселе, а у вас такие лица будто вы посетили музей

Поделиться сообщением


Ссылка на сообщение

видимо я дно в с++ но я так и не понял что ты собрался сделать в этом коде и какого типа переменная "а"

 

у тебя хотя бы к char[]/string или куда там вводится инфа с консоли есть доступ?

Поделиться сообщением


Ссылка на сообщение

Я сам дно кстати, просто столкнувшись с заданием почитал немного про cin

 

Есть int a, делаю cin >> a. В консоли ввожу допустим 20 30 40. Т.к. тип а int, то в а попадет 20, но 30 40 никуда не пропадет, а останется в стеке.

И если еще раз вызвать cin, то в а попадет уже 30, потом 40. Как то так.


Здравствуйте, мы тут навеселе, а у вас такие лица будто вы посетили музей

Поделиться сообщением


Ссылка на сообщение
(изменено)

ну тогда это изи, не?

 

у тебя по сути есть "воображаемый" массив с этими числами откуда ты можешь по очереди брать эти элементы (очередь типа)

рекурсивно вызывай эту функцию делая вывод числа после самовызова

если получаешь ноль, то вызовы стопаются и тогда функции в обратном порядке выведут всё это дело, просто добавь пробел

 

void func()
{
cin >> a;
if(a==0)
	return;
else
{
	func();
	cout << a;
	cout << " ";
}
}

как-то так, может я сам где-то проебался, но не могу затестить как это работает

 

каунтер я типа убрал, но без него будет пробел после ласт числа, придумай как через какую-нибудь переменную обозначить первую инстанцию func чтобы в ней пробел не выводить

 

как вариант может добавить int counter как агрумент в func делая первый вызов func(0), в начале func делать counter++ и при выводе пробела проверяй (counter != 1), я правда не уверен в плюсах будет ли это одна и та же инстанция каунтера, если да, то после рекурсивного вызова делай counter-- и тогда в первой инстанции будет 0, и проверку на 0 соотв.


Изменено пользователем TheDeadSkin

Поделиться сообщением


Ссылка на сообщение

Что-то когда решаю задачки с рекурсией мозг тупит вечно, тяжело сэмулировать решение в голове. А так-то спасибо


Здравствуйте, мы тут навеселе, а у вас такие лица будто вы посетили музей

Поделиться сообщением


Ссылка на сообщение
(изменено)

только эта фика со стеком в cin-е выглядит каким-то хаком, ты же не можешь отследить кол-во значений в ней

 

 

просто оставлю это тут

746bcd4c2ed54eb0ac80ff48a11241f0.png

 


Изменено пользователем TheDeadSkin

Поделиться сообщением


Ссылка на сообщение

я сначало тоже думал какой я крутой, не работаю на большого дядю, работаю в стартапе за макачино

потом чето мировозрение поменялось, как пришел в корпорацию надрачивать левелап

банк > фотомания или что там у тебя

не работай на дядю!

 

работай на тетю

 

а вообще делфи - это только уебищные совковые банки.

во всяких западных банках легаси код - это кресты и бейсик


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
(изменено)

я сначало тоже думал какой я крутой, не работаю на большого дядю, работаю в стартапе за макачино

потом чето мировозрение поменялось, как пришел в корпорацию надрачивать левелап

банк > фотомания или что там у тебя

в стартапе int port = 10000 + userid не прокатило, думаешь у большого дяди прокатит?

для той домашки я чисто знакомился с UDP портами у жавы. в итоге офк нормально все сделал в один порт, и lidgren'ом у клиента.

 

 

ну а мне то что, в принципе, скоро пятизнаячная зарплата привалит, так я тебя не пойму, чем ты пытаешься меня упрекнуть


Изменено пользователем Обязательное_поле

Поделиться сообщением


Ссылка на сообщение

ну а мне то что, в принципе, скоро пятизнаячная зарплата привалит, так я тебя не пойму, чем ты пытаешься меня упрекнуть

10000?

Поделиться сообщением


Ссылка на сообщение

ну а мне то что, в принципе, скоро пятизнаячная зарплата привалит, так я тебя не пойму, чем ты пытаешься меня упрекнуть

10000?

1000000000000000

Поделиться сообщением


Ссылка на сообщение

это не пятизначная

Поделиться сообщением


Ссылка на сообщение
(изменено)

ладно раскусили

я бомж технарь эникейшик работаю за еду

но мне норм


Изменено пользователем Обязательное_поле

Поделиться сообщением


Ссылка на сообщение

есть кто с scala норм умеет?nocomments.png


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение
(изменено)

парни, кто может написать несколько простых программ (уровень младших курсов)? похуй на чем

желательно на делфи

задания по типу таких:

 

 

1. На форме располагаются: кнопка с надписью "Да", кнопка Close, линейка ScrollBar с разметкой от 0 до 30, флажок CheckBox, редакторы Edit и Memo. В редакторе Edit вводится строка символов. Нажатие кнопки "Да" приводит к дублированию содержимого данного редактора в окне Memo и показу, через дефис, числа симво-лов в строке Edit. Если флажок установлен в соответствующее положение, то ползунок линейки устанавливается в позицию, равную длине строки. Кнопка Close заканчивает программу.

 

2. На основании иерархии объектов предметной области сформировать главное меню проекта. В меню должно быть не менее 20 опций.

Предметная область: Программные пакеты

Две любые опции должны быть дополнены графическими пиктограммами.

У двух конечных опций должны быть горячие клавиши. Выбор одной из таких опций приводит к появлению в центре метки c текстом AAAAAAAAAAAA;

Выбор другой такой опции приводит к исчезновению вышеуказанного текста.

Создать контекстное меню, привязанное к метке. В меню пять опций - для выбора цвета текста. Выбор опции сопро-вождается установкой рядом с ней символа V(галочка).

 

 

3. На форме располагаются: таблица StringGrid 4x7, в каждой строке которой свой набор элементов: "Цветы", "Деревья", "Реки", "Города"; четыре набора главных меню, соответствующие строкам таблицы; две линейки ScrollBar для изменения текущей ячейки таблицы; кнопка Close. Изменение номера строки делает активным соответствующее ей меню, а изменение номера столбца дезактивирует соответствующую ему опцию меню. Кнопка Close заканчивает программу.

 

4. На пространстве формы изображен календарь за февраль текущего года с вертикальным расположением недель. Рамка черного цвета в виде квадрата с закруг-ленными углами и толщиной линии в 3 пикселя движется по датам с дискретом вре-мени 0.8 сек. Запуск движения – команда главного меню, остановка – команда кон-текстного меню, что приводит к установке рамки на первую дату

 

5. К парашюту подвешено слово «AAAAAA». Все изображение опускается вниз и сносится влево с удвоенной скоростью. Запуск движения – двойной щелчок мыши

 

 

6. Дана целочисленная матрица {Aij}i=1...n, j=1...m (n,m є [3..5]). Конкретный размер задается списком ListBox (строки) и линейкой ScrollBar (столбцы). Если не все элементы матрицы различны, то удвоить элементы третьего столбца, в противном случае найти наименьший элемент в этом столбце.

 

 


Изменено пользователем olo)LOLO

Поделиться сообщением


Ссылка на сообщение

Привет всем, можете подсказать форумы на тему web development и по похожей тематике (англ. и рус. язычные).

Поделиться сообщением


Ссылка на сообщение

Ребят ,не знаю куда написать,пишу здесь.

Вообщем иду на собеседование в A1QA ,чтобы пройти на их бесплатные курсы "Тестирование ПО"

Перед этим нужно пройти отборочное тестирование,а что в нем,вообще хз :hmm:

Мб кто ходил к ним на эти курсы,подскажет ,что учить,чего ждать,а то на самом сайте о необходимых навыках для прохождения этого теста ниче не написано :sad:

Поделиться сообщением


Ссылка на сообщение

сказал отсталый двапой который все умеет но кроме никому ненужной фотофании не сделал dance.gif


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...