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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2011, 16:44   #1
stas45rus
Пользователь
 
Регистрация: 26.08.2011
Сообщений: 46
По умолчанию Функция

Код:
Program U;
Uses Crt;
Var d,j:Byte;
 
Function DS(z:Byte):Byte;
Var i:Byte;
    a:array[1..10] Of Byte;
begin
  For i:=1 To 8 Do
   begin
     a[i]:=z mod 2;
     z:=z div 2;
   end;
  DS:=a[i];
end;
 
BEGIN
 ClrScr;
 Write('Введите число: ');
 Readln(d);
 DS(d);
 For j:=8 DownTo 1 Do
  Write(DS(d));
 Readln;
END.
Функция должна переводить число в двоичную СС и выдавать результат. В чём тут ошибка?
stas45rus вне форума Ответить с цитированием
Старый 13.10.2011, 18:13   #2
Dush
Форумчанин
 
Регистрация: 29.09.2011
Сообщений: 116
По умолчанию

1. зачем у вас в функции массив объявлен как 1..10 когда нужно 1..8
2. вы в функции все равно проходите 8 раз по числу, соотвественно нужное вам представление можно получить уже в функции и избавится из основной программы от цикла

предлагаю:
изменить тип функции, в цикле функции ввести переменную которая накапливает значения массива в строку, удалить из основы цикл
Dush вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция illyshka Visual C++ 0 16.05.2011 15:28
ФУНКЦИЯ В СИ Ислам Помощь студентам 21 27.02.2011 12:26
функция golf Помощь студентам 4 14.11.2009 16:27
функция gets U-S Общие вопросы C/C++ 6 14.11.2009 13:49
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50