![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Lakibooy |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Аскер Репутация: ![]() ![]() ![]() |
Здравствуйте
помогите с задачкой Надо ввести число от 100 до 10100,если число вводится и не попадает в этот интервал,то запрос повторяется до тех пор ,пока не дойдет до правильного.Если число введено правильно,то выдать сумму его цифр. тоесть если я ввожу 678 то мне нужно получить сумму цифр пример 6+7+8=21 как мне это сделать? Подскажите пожалуста. Добавлено через 12 мин. вот код который я написал но не знаю правельно ли! uses crt;
Var x,s:integer;
begin
Clrscr;
writeln('Введите число');
readln(x);
repeat writeln('Введите число');
readln(x); until (x<100) and (x>10100);
writeln('сумма,s);
readln;
end.
Сообщение отредактировано: Lakibooy - 6.06.2007 18:47 |
compiler |
![]()
Сообщение
#2
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
а где ты считаешь сумму?
-------------------- Спасибо!
Удачи! |
Lakibooy |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Аскер Репутация: ![]() ![]() ![]() |
|
compiler |
![]()
Сообщение
#4
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
вобщем держи
type i=integer;
var n:i;
function ReadN:i;
var a:i;
begin
repeat
write('-->');
readln(a);
until ( (a>100) and (a<10100) );
ReadN:=a;
end;
function SumNem(const n:integer):i;
var a:i;
begin
a:=n;
SumNem:=0;
while a<>0 do begin
SumNem:= SumNem+ (a mod 10);
a:=a div 10;
end;
end;
begin
n:=ReadN;
WriteLn ( SumNem(n) );
readln;
read;
end.
очистку экрана только добавь(если хочеш)...Сообщение отредактировано: compiler - 6.06.2007 18:57 -------------------- Спасибо!
Удачи! |
Lakibooy |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Аскер Репутация: ![]() ![]() ![]() |
спасибо в который раз уже выручаешь!!!
|
compiler |
![]()
Сообщение
#6
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
спасибо в который раз уже выручаешь!!! та незачто ![]() я вот тебе процедурку не много переписал ![]() ![]() function ReadN:i;
var a:i;
begin
write('-->');
readln(a);
while ( (a<100) or (a>10100) ) do begin
Clrscr; //добавь библиатеку!!!
write('-->', #7);
readln(a);
end;
ReadN:=a;
end;
-------------------- Спасибо!
Удачи! |
Lakibooy |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Аскер Репутация: ![]() ![]() ![]() |
вобщем держи type i=integer;
var n:i;
function ReadN:i;
var a:i;
begin
repeat
write('-->');
readln(a);
until ( (a>100) and (a<10100) );
ReadN:=a;
end;
function SumNem(const n:integer):i;
var a:i;
begin
a:=n;
SumNem:=0;
while a<>0 do begin
SumNem:= SumNem+ (a mod 10); //перед+ пишет что не хватает ( не знаешь почему?
a:=a div 10;
end;
end;
begin
n:=ReadN;
WriteLn ( SumNem(n) );
readln;
read;
end.
очистку экрана только добавь(если хочеш)... |
compiler |
![]()
Сообщение
#8
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
>перед+ пишет что не хватает ( не знаешь почему?
чего не хватает ?процитируй что имено віводится... Добавлено через 3 мин. а все я понял это же TP... прошу прощения... сейчас перепишу... Добавлено через 3 мин. не перепишу, уже всё забыл... можеш пока ввести отдельную переменную и подождать пока кто нибудь напишет... -------------------- Спасибо!
Удачи! |
Lakibooy |
![]()
Сообщение
#9
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Аскер Репутация: ![]() ![]() ![]() |
Добавлено через 3 мин. не перепишу, уже всё забыл... можеш пока ввести отдельную переменную и подождать пока кто нибудь напишет... [/quote] подожду может кто напишет! |
Malice |
![]()
Сообщение
#10
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
compiler |
![]() ![]()
Сообщение
#11
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Напиши лучше так: но так мы лишились замечательного const ... ![]() ![]() ![]() хотя конечно для данной задачи можно и так... Сообщение отредактировано: compiler - 6.06.2007 19:48 -------------------- Спасибо!
Удачи! |
Lakibooy |
![]()
Сообщение
#12
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Аскер Репутация: ![]() ![]() ![]() |
Огромное СПАСИБО ВСЕМ кто помог все работает!!!!
вот код программы может кому пригодиться! uses crt;
type i=integer;
var n:i;
function ReadN:i;
var a:i;
begin
write('-->');
readln(a);
while ( (a<100) or (a>10100) ) do begin
Clrscr;
write('-->', #7);
readln(a);
end;
ReadN:=a;
end;
function sumNem (n:integer):integer;
begin
if n=0 then sumNem:=0
else
Sumnem:=(n mod 10)+sumnem (n div 10);
end;
begin
n:=ReadN;
WriteLn ( SumNem(n) );
readln;
read;
end.
|
compiler |
![]()
Сообщение
#13
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
примечание
ReadN можна и ИМХО, лучше реализовать через процедуру с out... -------------------- Спасибо!
Удачи! |
![]() ![]() |
![]() |
Текстовая версия | 17.07.2025 21:26 |