Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2010, 18:58   #1
kyop
Пользователь
 
Регистрация: 04.08.2010
Сообщений: 20
По умолчанию простейшие задачи из pascal abc

День добрый. Некоторое время назад попался в руки некто паскаль абце, начал выполнять из него задания, и в результате собственно вопрос:

в задание:

дано трехзначное число, вывести число, полученное при перестановкецифр десятков и единиц исходного числа

я выполнял как-то так:

Код:
begin
read(ch);
s:=ch div 100;
d:=(ch div 10)-s*10;
e:=ch-s*100-d*10;
i:=s*100+e*10+d;
write(i);
end.
в tp7 задача решается и ответ получается адекватный, но судя по тому что паскаль абце ругается, фырчит и неприемлет решения он ожидал другой способ решения задачи...
если можете подскажите (сам сгораю от любопытства) как еще можно было это все сделать?

прошлый раз я только на экзамене узнал что есть способ получить модуль числакроме того что я использовал (korna:=sqrt(a*a))...

p.s. извиняюсь если гдето уже встречялась такая тема... но... но просматривать 500 страниц даже моего терпения не хватит а кнопку поиска я не нашел (может быть просто не по глазам?)
заранее спасибо.

Последний раз редактировалось Stilet; 05.08.2010 в 09:09.
kyop вне форума Ответить с цитированием
Старый 04.08.2010, 19:09   #2
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Код:
var str:string[3];
ch:char;
begin
read(str);
ch := str[3];
str[3] := str[2];
str[2] := ch;
write(str);
end;
VadEr вне форума Ответить с цитированием
Старый 05.08.2010, 10:33   #3
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

Цитата:
в tp7 задача решается и ответ получается адекватный, но судя по тому что паскаль абце ругается, фырчит и неприемлет решения он ожидал другой способ решения задачи...
если можете подскажите (сам сгораю от любопытства) как еще можно было это все сделать?
А как ругается? Что пишет?
Вообще можно еще через остаток от деления попробовать.

Код:
read(chislo);
edinici:=chislo mod 10;
desyatki:=(chislo mod 100) div 10;
preobrazovannoe_chislo:=chislo+9*(edinici-desyatki);
writeln(preobrazovannoe_chislo);
Тут решение основано на том, что если было число xyz(=100x+10y+z), то xzy=100x+10z+y=xyz+9*(z-y).
Snejnaya вне форума Ответить с цитированием
Старый 05.08.2010, 17:04   #4
kyop
Пользователь
 
Регистрация: 04.08.2010
Сообщений: 20
По умолчанию

эммн...
Думаю не поверите, сейчас перестал ругаться, может я что то уже сам поменял долгими летними ночами.
Не припомню, но ругался что я пытаюсь присвоить переменной типа integer значение типа real

я объявлял
PHP код:
var ch,s,d,e,i:integer
как я понимаю div и mod работают с integer типом...

а может это в нем была ошибка и паскаль абце сам обновился через нет ошибка и пропала (раньше сделал три задания такого типа этим методом ни одно не пошло а сейчас о чудо...)
не знаю(

эммн...
Думаю не поверите, сейчас перестал ругаться, может я что то уже сам поменял долгими летними ночами.
Не припомню, но ругался что я пытаюсь присвоить переменной типа integer значение типа real

я объявлял
Код:
var ch,s,d,e,i:integer;
как я понимаю div и mod работают с integer типом...

а может это в нем была ошибка и паскаль абце сам обновился через нет ошибка и пропала (раньше сделал три задания такого типа этим методом ни одно не пошло а сейчас о чудо...)
не знаю(

Последний раз редактировалось Stilet; 05.08.2010 в 17:21.
kyop вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на решение Pascal abc Tecka Фриланс 9 18.12.2012 22:20
3 простейшие задачи по ТП за 20р XOsman Фриланс 3 13.12.2009 16:58
2 задачи Pascal Abc Максим1987 Фриланс 3 15.06.2009 13:24