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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2011, 19:51   #11
Chebattler
 
Регистрация: 30.03.2010
Сообщений: 4
По умолчанию

Pein95
тупые задания на олимпиадах по паскалю уровня район-город.
Вот там задания так задания...
Chebattler вне форума Ответить с цитированием
Старый 18.01.2011, 19:58   #12
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

я б не сказал) сам прошол ето ) сейчас готовлюсь на область
Стоп. Вы про школьные или университетские олимпиады?
Pein95 вне форума Ответить с цитированием
Старый 18.01.2011, 22:38   #13
tutis
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 13
По умолчанию

Написать и протестировать функцию,которая по заданному натуральному числу определяет количество цифр в нем и сумму цифр на нечетных местах.
Вот, что у меня получилось.Программа правильно считает количество цифр в числе, но сумму неправильно.Помогите разобраться.
Код:
 
var n:longint;
function kolcifr(n:longint):byte;
var k:byte;
begin
  k:=0;
 while n<>0 do begin
    n:=n div 10;
    k:=k+1;
    end;
    kolcifr:=k;
    end;
    function sumcifr(n:longint):longint;
    var i,k:longint;
    s:longint;
    b:array [1..10] of integer;
    begin
    s:=0;
    k:=0;
    while n<>0 do begin
    n:=n div 10;
    k:=k+1;
    b[k]:=n mod 10;
  for i:=1 to k do
  if (i mod 2=1) then
  begin
  s:=s+b[i];
  end;
  end;
  sumcifr:=s;
  end;
  begin
  clrscr;
  write('n=');
  readln(n);
  writeln('kolichestvo cifr v chicle=',kolcifr(n));
  writeln('summa cifr na nechetnih mestah=',sumcifr(n));
  readln;
end.
tutis вне форума Ответить с цитированием
Старый 18.01.2011, 23:52   #14
k0tone
Пользователь
 
Аватар для k0tone
 
Регистрация: 09.11.2010
Сообщений: 99
По умолчанию

Попробуй так:
Код:
var n:longint;

function kolcifr(n:longint):byte;
 var k:byte;
 begin
  k:=0;
  while n<>0 do
   begin
    n:=n div 10;
    k:=k+1;
   end;
    kolcifr:=k;
 end;

function sumcifr(n:longint):longint;
 var i,k:longint;
     s:longint;
     b:array [1..10] of integer;
 begin
  s:=0;
  k:=0;
  while n<>0 do
   begin
    k:=k+1;
    b[k]:=n mod 10;
    n:=n div 100;
   end;

 for i:=1 to k do s:=s+b[i];
 sumcifr:=s;
 end;

begin
 write('n=');
 readln(n);
 writeln('kolichestvo cifr v chicle=',kolcifr(n));
 writeln('summa cifr na nechetnih mestah=',sumcifr(n));
 readln;
end.
P.S. Нечётные элементы считаю слева направо...
Если я вам помог - нажмите на весы пот аватаркой!

Последний раз редактировалось k0tone; 18.01.2011 в 23:56.
k0tone вне форума Ответить с цитированием
Старый 19.01.2011, 00:02   #15
delTh
Новичок
Джуниор
 
Регистрация: 23.10.2010
Сообщений: 2
По умолчанию

ну и еще примерчик
Код:
PROGRAM  NAT;
uses crt;
Var N:LongInt;
    sum:integer;
Function Func(n:LongInt):byte;
 var i,j:shortint;
     a:array[0..127] of byte;
begin
 i:=0;
 if n>=0 then begin
   while n > 0 do begin
     a[i]:=n mod 10;
     n:=n div 10;
     i:=i+1;
   end;
   j:=i-1;{так как i считаем с нуля}
   while j > 0 do begin
    sum:=sum+a[j];
    j:=j-2;
   end;
 end;
 Func:=i;
end;


BEGIN
Clrscr;
sum:=0;
Write('Введите натуральное число: ');
Readln(N);
writeLn('Кол-во цифр: ',Func(N),', сумма: ',sum,'.');
END.
delTh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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