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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2010, 20:34   #1
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию Подправить код

Привет всем.
Очень нужна ваша помощь... Вот исходный код на паскале:

Код:
Program LAB1;
uses crt;
Procedure WriteByte(a:byte);
var i:integer;
  begin
  for i:=7 downto 0 do begin
    if ((a shr i) and $01) <>0 then write('1')
    else write('0');
    end;
  write(' ');
  end;

type  bytearr=array[1..100] of byte;
  var
  k,i:integer;
  db: double;
  px: pointer;
  bp:^bytearr;
  begin
  clrscr;
  db:=13.65;
  px:=@db;
  bp:=px;
  writeln('Tup DOUBLE. 4uslo - ',db:0:2);
  for k:=1 to 8 do writebyte(bp^[k]);
  writeln;
  readln;
  end.

Его нужно переделать под с++. Я вот тут сделал но не компилируетса... подправте что я сделал не так?

Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void WriteByte(int a)
{
int i;
   for(i=7;i==0;i--) {
    if ((a>>i)!=0)  {puts("1");}
    else puts("0");
    }
  puts(" ");
}

  void main()
  {
  int k,i;
  int bytearr[100];
  double db;
  pointer px;
  *bytearr bp;
  db=13.65;
  px=*db;
  bp=px;
  for (k=1;k==8;k++) {writebyte(bp^[k]);}
  getch();
  }

Последний раз редактировалось werser; 14.03.2010 в 20:57.
werser вне форума Ответить с цитированием
Старый 14.03.2010, 20:52   #2
Alt
Лжец и смутьян
Форумчанин
 
Аватар для Alt
 
Регистрация: 03.04.2009
Сообщений: 194
По умолчанию

Цитата:
то я сдела не так?
Как минимум, ты оформил код тегом [quote] вместо [code]...
Помогли тебе - помоги другому.
Alt вне форума Ответить с цитированием
Старый 14.03.2010, 22:34   #3
Indian
Форумчанин
 
Регистрация: 23.02.2010
Сообщений: 107
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>

void WriteByte (int a)
{

    int i;
    for (i = 7; i >= 0; i--)
	if ((a >> i) & 1)
	    puts ("1");
	else
	    puts ("0");

    puts (" ");
}

int main ()
{
    int k;

    char bytearr[100] = { };
    char *bp = bytearr;

    double db = 13.65;
    double *px = &db;
    bp=(char* )px;

    printf ("Tup DOUBLE. 4uslo -  %.2f \n", db);

    for (k = 0; k <= 8; k++)
		WriteByte (bp[k]);
		
	return 0;
}

Последний раз редактировалось Indian; 14.03.2010 в 22:54.
Indian вне форума Ответить с цитированием
Старый 14.03.2010, 23:19   #4
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

Спасибо большое
только в этом месте при компиляции
Цитата:
char bytearr[100] = { };
выдает ошибку Expression extended. Из-за чего это может быть?
werser вне форума Ответить с цитированием
Старый 14.03.2010, 23:26   #5
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

Спасибо большое разобрался. Спасибо приспасибо Вы меня спасли Вы супер профи.
werser вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подправить код с удалением цифр.. hen Общие вопросы C/C++ 3 12.02.2010 09:50
Подправить рабочий код. michaelk Общие вопросы C/C++ 0 06.12.2009 11:33
подправить код ELF astserg01 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 09.04.2009 06:49
constructor, destructor override. Подправить код. Roof Общие вопросы Delphi 9 31.07.2008 13:41