Помощь - Поиск - Пользователи - Календарь
Полная версия: Задачи на нат. числа, матрицы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Вэл
Please,help!!!!!

1)))Найти кол-во различных цифр данного натурального числа.


2)))На плоскости заданы множество точек М и точка С вне его.Подсчитать кол-во различ. пар точек А,В из М таких,что треугольник АВС - равносторонний
3))))Прямоугольник задан координатами своих вершин,стороны параллельны осям координат.Определить плозадь той части прямоуг-ка,которая нах-ся во 2 четверти.
volvo
Что-то уже сделано? Где именно возникают проблемы?
Подсказка: если в первой задаче использовать множества (Set) и Div, Mod - она решается в несколько строк...
Altair
Цитата
1)))Найти кол-во различных цифр данного натурального числа.

Если представить число как строку (STR), то такая задача решалась уже на форуме. (поиск \кол-во различных символов в строке)
Вэл
Я посмотрела на форуме и не нашла подобных задач.Если вам не трудно,не могли бы вы написать здесь программы :molitva: :molitva: :molitva: ооочень прощу :molitva: :molitva: :molitva: :molitva:
volvo
Цитата(Вэл @ 12.03.05 14:50)
Я посмотрела на форуме и не нашла подобных задач.

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

var
ZRus:set of char;
PRus:set of char;
a:set of char;
s:string;
i,k:byte;
begin
zRus:=['А'..'Я']; pRus:=['а'..'я'];
readln(s);
for i:=1 to length(s) do
If ((s[i] in ZRus) or (s[i] in PRus)) and NOT (s[i] in a) then
begin inc(k); INCLUDE(a,s[i]) end;
writeln(k);
end.


т.е. сдесь нужно убрать ZRus:set of char;
PRus:set of char; это?
и заменить на a:integer?
Вэл
Ну почему же вы молчите?не так нужна ваша момощь :molitva:
volvo
Цитата
Найти кол-во различных цифр данного натурального числа

Ну, если число задано не в виде строки (т.е. именно числом), то можно сделать так:
Код
var
 n: longint;
 digits: set of byte;
 count, last: integer;

begin
 n := 12348323;
 count := 0; digits := [];
 while n > 0 do
   begin
     last := n mod 10;
     if not (last in digits) then
       begin
         digits := digits + [last];
         inc(count); write(last:3)
       end;
     n := n div 10
   end;

 writeln;
 writeln('count = ', count)
end.


P.S.
Цитата
Ну почему же вы молчите?не так нужна ваша момощь

Потому, что это - не помощь... Помощь - это когда Вы хоть что-нибудь делаете... А Вы хотите, чтобы все делали за Вас...
Вэл
спасибо..с этой задачей я разобралась..
я не знаю,как быть с геометрическими..

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

Добавлено:
и вот еще вопрос:можно ли это чем-то заменить?

n: longint;
digits: set of byte;
count, last: integer;
volvo
Цитата(Вэл @ 15.03.05 9:41)
спасибо..с этой задачей я разобралась..

Естественно, она же решена уже... Еще бы после этого Вы с ней не разобрались.

Цитата(Вэл @ 15.03.05 9:41)
у меня никогда не было проблем с паскалем...

Правда? Чего ж Вы тогда задаете следующий вопрос?

Цитата(Вэл @ 15.03.05 9:44)
и вот еще вопрос:можно ли это чем-то заменить?

n: longint;
digits: set of byte;
count, last: integer;

Это же элементарные конструкции языка... Заменить, конечно, можно, но для этого придется заново переписать программу. Предоставляю это Вам. Тем более, что как выяснилось проблем-то с Паскалем у Вас никогда не было, а уж эту задачу к геометрическим никак нельзя отнести...
Удачи...
Вэл
вы хотите сказать,что это не геометрические задачи:
2)))На плоскости заданы множество точек М и точка С вне его.Подсчитать кол-во различ. пар точек А,В из М таких,что треугольник АВС - равносторонний
3))))Прямоугольник задан координатами своих вершин,стороны параллельны осям координат.Определить плозадь той части прямоуг-ка,которая нах-ся во 2 четверти.
volvo
Учитесь читать ответы. Там написано, на какое сообщение я отвечал.
Вэл
извиняюсь,конечно,за свою упорчивость,но вы тоже повнимательней почитайте!!!!Я и не говорила,что ТА задача геометрическая..я имела ввиду две другие...
volvo
Значит так, специально для особо упорных, повторяю смысл вышесказанного: Вы утверждали, что у Вас нет проблем с Паскалем, так? Запомните это утверждение, оно нам еще пригодится... Затем Вы сказали, что у Вас проблема с геометрией, правда?

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

P.S. поскольку тема перешла в оффтоп - Закрыто...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.