Помощь - Поиск - Пользователи - Календарь
Полная версия: Интересные задачи не из школьной программы!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Lidroot
Ребят столкнулся с проблемой: мало времени, а надо сделать много! эти задачи очень интересные так как они с усложнениями! я несколько сделал, но уже голова опухла... может вы предложите какие нибудь варианты решения?

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

2) создать игровую программу для угадывания возраста пользователя! Работу программы корректировать выбором Горячо, Холодно, Теплее...

Еще меня интересует информация по заполнению матрицы отсортированными данными по спирали (то что я нашел в факе не подходит)...

Заранеее спасибо!


P.S. Задач оч много smile.gif
klem4
1) http://forum.pascal.net.ru/index.php?showtopic=13630

Про бесконечный цикл ничего непонял

2) Сам пробовал делать ?

3) Какая спираль тебе нужна ? Приведи пример матрицы. Гадалка заболела, извини.
мисс_граффити
во второй - комп предлагает варианты, а человек говорит, холодно или горячо?
надо четко оговорить "размах". (ну допустим человеку 25, а комп предлагает 45 - это холодно? а 25 и 30?)
идея может быть такой: вводим понятие шага. начальное значение - рэндомом.
потом начальное+шаг. теплее? еще +шаг. холоднее? откатываемся на шаг назад и +1/2 шага...
Lidroot
2 klem4:
1) про бесконечный цикл я в курсе, вопрос в другом, для каждой буквы переменную нужно? (это можно и в массиве) или есть можно по другому как то?

2) У меня еще 20 задач лежит!!! (точнее уже 15) я ее сделаю но если есть какой то легкий способ (меня препод достал за мои извращения на паскале!)

3) Заполнение матрицы 10Х10 по спирали... в факе что то закрученно... мож что по понятнее есть

2 мисс_граффити:

Я уже 3 листа исчертил, пытаясь это хоть как то понять! Замучался!
Bokul
Цитата
про бесконечный цикл я в курсе, вопрос в другом, для каждой буквы переменную нужно? (это можно и в массиве) или есть можно по другому как то?

Вечный компромисс между скоростью работы и затраченной памятью. Если для каждой буквы выделишь свою переменную, то можно подсчитать их количество за 1 проход по строке - выигрыш в скорости, но надо использовать больше места под переменные. Можно же наоборот - сделать одну переменную и за каждый проход считать количество только одной буквы - проигрыш в скорости. Так что выбирай.
volvo
Цитата
мож что по понятнее есть
Может и есть... В поиске находятся еще как минимум 5 разных способов заполнения матрицы (даже НЕквадратной) по спирали. Предложить никакой из них тебе не могу, т.к. ты не сказал, какая спираль нужна: раскручивающаяся из центра/закручивающаяся к центру (если эта, то откуда начинать закрутку и по/против часовой стрелки)...

Извини, что так дотошно, просто иногда делаешь программу, а автор говорит что "не это имел в виду"... Вот чтобы такого не было - говори, что тебе нужно конкретно...
мисс_граффити
У меня вот что получилось.
Мой возраст угадала, но времени толком потестировать нет.
Думаю, вариант далек от оптимального... да и послуживший базовым метод деления пополам - не идеал. Можешь переделать под метод золотого сечения или любой другой метод поиска минимума ф-ции.
 program vozr;
var versia,shag,horosho:integer;
begin
shag:=10;
versia:=0;
writeln(versia);
writeln('ugadal? esli da, nazhmite 0, esli net - nazhmite 1');
readln(horosho);
while (horosho<>0) do
begin
if horosho=1 then
versia:=versia+shag;
if horosho=2 then
begin
shag:=-1*round(shag/2);
versia:=versia+shag;
end;
writeln(versia);
writeln('esli ugadal-nazhmite 0, esli ne ugadal: teplee - nazhmite 1,holodnee - nazhmite 2');
readln(horosho);
end;
readln;
end.
where can i buy prednisone witho
Propecia Prostata
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.