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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2011, 18:19   #1
tutis
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 13
По умолчанию Функции. Pascal

Здравствуйте! Помогите пожалуйста написать программу на Pascal. Написать и протестировать функцию, которая по заданному натуральному числу определяет количество цифр в нем и сумму цифр на нечетных местах.
tutis вне форума Ответить с цитированием
Старый 18.01.2011, 18:35   #2
Chebattler
 
Регистрация: 30.03.2010
Сообщений: 4
По умолчанию

фунуцию сам сделаешь, а алгоритм примерно такой:
chislo:string;
readln(chislo);
m:=leangth(chislo);
writeln('kol-vo cifr v chisle =',m);
for i:=1 to m do
if i mod 2 <> 0 then sum:=sum+strtoint(chislo[i]);
writeln('summa 4isel, na ne4etnix mestax =',sum);
вот так вроде, не проверял, но принцип таков
Chebattler вне форума Ответить с цитированием
Старый 18.01.2011, 18:42   #3
tutis
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 13
По умолчанию

[QUOTE=Chebattler;714753]фунуцию сам сделаешь, а алгоритм примерно такой:
chislo:string;
readln(chislo);
QUOTE]
Спасибо, но мне нужно число представлять не как строку, а как само число, т.е chislo:integer.
tutis вне форума Ответить с цитированием
Старый 18.01.2011, 18:46   #4
tutis
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Chebattler Посмотреть сообщение
фунуцию сам сделаешь, а алгоритм примерно такой:
chislo:string;
readln(chislo);
Спасибо, но мне нужно число представлять не как строку, а как само число, т.е chislo:integer.
tutis вне форума Ответить с цитированием
Старый 18.01.2011, 18:54   #5
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

ну тода используй оператор case для определения сколько цыфр в числе а потом div и mod тебе в помощь
Pein95 вне форума Ответить с цитированием
Старый 18.01.2011, 19:07   #6
tutis
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Pein95 Посмотреть сообщение
ну тода используй оператор case для определения сколько цыфр в числе а потом div и mod тебе в помощь
Количество цифр я знаю как подсчитать, а как вычислить сумму цифр, стоящих на нечетных местах? Помогите пожалуйста.
tutis вне форума Ответить с цитированием
Старый 18.01.2011, 19:09   #7
tutis
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 13
По умолчанию

Вот как я посчитала количесво цифр.
Код:
uses crt;
var N:longint;
var k:integer;
begin
clrscr;
write('N= ');
readln(N);
k:=0;
while N<>0 do
begin
k:=k+1;
N:=N div 10;
end;
writeln('Kolichestvo cifr v chisle = ',k);
readln;
end.
tutis вне форума Ответить с цитированием
Старый 18.01.2011, 19:21   #8
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

запишы в масив ети же цыфры и ищи суму тех у которых не четный индекс)
Pein95 вне форума Ответить с цитированием
Старый 18.01.2011, 19:39   #9
Chebattler
 
Регистрация: 30.03.2010
Сообщений: 4
По умолчанию

почему нельзя моим способом?
главное же результат..
А там оно внутренне переводит в строку, для подсчёта кол-ва знаков и потом переводит в норм число для подсчёта суммы...Но если в задании сказано использовать integer , то понятно.
Chebattler вне форума Ответить с цитированием
Старый 18.01.2011, 19:41   #10
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

вот странно почему дают такие тупые задания) я в вузе ещо не учюсь но мне уже ето всё не нравитса....
Pein95 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(Pascal) Функции S1nek Помощь студентам 9 24.11.2010 08:51
Функции в Pascal Masya1705 Помощь студентам 7 01.06.2010 21:34
Pascal. Функции. HD-boy Помощь студентам 2 22.12.2009 12:00
Функции [Pascal]. sergey31 Помощь студентам 4 31.05.2008 22:11