MooK
Новичок
|
Пожалуйста помогите решить задачу. Условие: Дано натуральное число n, 1 < n < 30000. Напишите программу, которая изменит порядок цифр числа так, чтобы получить минимально возможное число. Примечание: В записи числа n цифра 0 отсутствует. Ввод: число n вводится с клавиатуры. Вывод: на экран в строку через пробел выводится исходное и преобразованное число. Пожалуйста помогите, а то мне придётся летом перездавать информатику, а мне этого очень не хочется. Помогите плиз...
|
Всего сообщений: 4 | Присоединился: май 2008 | Отправлено: 23 мая 2008 15:47 | IP
|
|
MooK
Новичок
|
Я знаю ход решения задачи, он ниже, но немогу написать прогу, ибо я в паскале дуб... Перевести число в строку . Разбить на цифры . Цифры упихать в массив. Упорядочить массив по возрастанию . Вывести весь в одну строку.
|
Всего сообщений: 4 | Присоединился: май 2008 | Отправлено: 23 мая 2008 17:29 | IP
|
|
KMA
Долгожитель
|
Человечество! Возникла проблема. Такая задача: Написать программу, с использованием вложенного цикла, которая выводит на экран таблицу a ab abc но вся фишка в том, что без использования string и ord. Сколько бьюсь,не получается. Мысли кончились
Используй pred и succ
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 мая 2008 22:58 | IP
|
|
KMA
Долгожитель
|
Mook, твоя задача уже РЕШАЛАСЬ на форуме... по моему во 2 теме. Лично сам помню, как обосновывал алгоритм... он по ходу был еще оптимальнее, чем тот, который ты дал... Ищи.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 мая 2008 23:00 | IP
|
|
MooK
Новичок
|
KMA Спасибо тебе большое)) Родина тебя не забудет))
|
Всего сообщений: 4 | Присоединился: май 2008 | Отправлено: 25 мая 2008 1:36 | IP
|
|
MooK
Новичок
|
А 2-ая тема это тут? --> Решение задач на Pascal. Форум 2
|
Всего сообщений: 4 | Присоединился: май 2008 | Отправлено: 25 мая 2008 1:47 | IP
|
|
Spaun666
Новичок
|
KMA, с помощью pred и succ тоже нельзя. Поставлены четкие границы. Разрешено использовать только вложенный цикл.
|
Всего сообщений: 3 | Присоединился: май 2008 | Отправлено: 25 мая 2008 2:52 | IP
|
|
DeFraG
Новичок
|
Здравствуйте. В этом участке кода, я пытаюсь записать пиксель на экран. Видеорежим - 640х480 16 цветов. Из TeachHelp узнал, что начало буфера экрана - a000h Опытным путём выяснил, что вместо цвета зажигаются 8 последовательных пикселов по битовой маске, белым цветом. Как зажечь пиксел произвольным цветом ?
Code Sample:
asm mov ax,0a000h mov es,ax mov dl,byte ptr es:[241] { читаем исходный байт } mov al,2h {} or dl,al mov ax,0a000h mov es,ax mov byte ptr es:[241],dl { Записываем готовый байт } end;
(Сообщение отредактировал DeFraG 25 мая 2008 10:53)
|
Всего сообщений: 5 | Присоединился: май 2008 | Отправлено: 25 мая 2008 10:14 | IP
|
|
DeFraG
Новичок
|
Главная проблема - куда писать. В своей программе я ещё и видео страницы использую... По хорошему мне надо ещё рассчитывать адрес с учётом номера активной страницы. (Сообщение отредактировал DeFraG 25 мая 2008 10:39)
|
Всего сообщений: 5 | Присоединился: май 2008 | Отправлено: 25 мая 2008 10:25 | IP
|
|
DeFraG
Новичок
|
Цитата: Spaun666 написал 22 мая 2008 22:18 Человечество! Возникла проблема. Такая задача: Написать программу, с использованием вложенного цикла, которая выводит на экран таблицу a ab abc но вся фишка в том, что без использования string и ord. Сколько бьюсь,не получается. Мысли кончились
Вместо string и ord используй преобразование типов char и byte. Вот моё решение:
Code Sample:
uses crt; var i,j : integer; c : char; begin clrscr; c := 'a'; for i := 0 to 2 do begin for j := 0 to i do begin write(char(byte(c)+j)); end; writeln; end; repeat until keypressed; end.
|
Всего сообщений: 5 | Присоединился: май 2008 | Отправлено: 25 мая 2008 10:52 | IP
|
|