IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> не могу решить задачу... 8(
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


совсем недавно я начел изучать паскаль так что в нём хорошо не шарю...
а паскаль я изучаю на вашем сайте (Уроки от Дмитриева Эдуарда) Урок 8 и там есть домашние задание
" Написать программу получения числа из отдельно введенных однозначных чисел. Для этого постарайтесь придумать свой алгоритм, реализующий цикл для ввода чисел. Концом ввода должен служить нуль."
как же это делается... ? sad.gif
кстати хотелось бы если у каждого домашнего задание были бы и ответы...

Сообщение отредактировано: d00mik -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Андрей

Репутация: -  1  +


Можно вот так:

Program ReceptionOfNumber;
uses Crt;
var number : Extended;
digit,code : Integer;
Temp,S : String;
begin
Clrscr;{Очищаем экран}
WriteLn('Input digits:');
S := '';{Обнуляем строку}
repeat{Начало цикла}
ReadLn(digit);{Вводим цифру}
Temp := '';{Обнуляем строку}
str(digit,Temp);{Преобразуем число в строку}
S := S + Temp;{Склеиваем строки}
until digit = 0;{Если цифра равна нулю заканчиваем цикл}
val(S,number,code);{Преобразуем строку в число}
WriteLn('Result: ',number,';');{Выводим результат}
ReadKey;{Ждем нажатия клавиши для выхода из программы}
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


зачем переводить цифры в строки и обратно?

var t : longint;
i : byte;

begin
t := 0;
reasdln(i);
while i <> 0 do
begin
t := t*10 + i;
end;
writeln(t);
end.



--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

Репутация: -  4  +


Что то тут бесконечным циклом несёт. У тебя i в теле цикла не изменяется. То есть либо бесконечный цикл (при i<>0) или вообще без цикла (при i=0)


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


virt, идея класная, но ты действительно ошибся немного smile.gif Я поправил :

uses crt;

var t : longint;
i : byte;

begin

clrscr;

t := 0;

repeat

readln(i);

if i<>0 then
t := t*10 + i;

until i=0;

writeln(t);

readln;

end.



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


о!спасибо всем щас всё испробую 8)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






klem4,
smile.gif
if i<>0 then
t := t*10 + i;

так ли необходимо условие If i <> 0 Then... Если его убрать, что-то изменится?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Да! ведь если ее убрать, число t лишний раз домножется на 10 , и в конце будет лишний ноль. rolleyes.gif

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


я просто забыл в цикле поставить readln(i);

var t : longint;
i : byte;

begin
t := 0;
reasdln(i);
while i <> 0 do
begin
t := t*10 + i;
readln(i);
end;
writeln(t);
end.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 30.04.2024 5:21
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name