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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2009, 11:16   #11
modulrev
Пользователь
 
Регистрация: 10.01.2009
Сообщений: 21
По умолчанию Исходник

Вот исходник программы на с++.Нужно сделать то же самое,но на паскале.Очень нужно.
Код:
#include <graphics.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <conio.h>
 #include <math.h>
 char smile[8]={0x00,0x66,0x66,0x00,0x18,0x42,0x7E,0x00};

 int round(float a)
 {if (a-floor(a)<0.5)return floor(a); return ceil (a);};

 void Picture(int x,int y,float Mk)
 { int x1;
 line (x,y,x+round(15*Mk),y+round(10*Mk));
  line (x+round(15*Mk),y+round(10*Mk), x+round(160*Mk),y+round(10*Mk));
  line (x+round(160*Mk),y+round(10*Mk), x+round(175*Mk),y+round(0*Mk));
  line (x+round(160*Mk),y+round(40*Mk), x+round(175*Mk),y+round(50*Mk));
  line (x+round(160*Mk),y+round(40*Mk), x+round(15*Mk),y+round(40*Mk));
  line (x+round(15*Mk),y+round(40*Mk),x,y+round(50*Mk));
// circle (x+round(20*Mk), y+round(20*Mk), round(10*Mk));
 x1=x+round(30*Mk);
 setfillpattern(smile,14);
 for (int i=1;i<5;i++)
 {
 setcolor(15);
 circle (x1,y+round(25*Mk),round (13*Mk));
 floodfill(x1,y+round(25*Mk),15);
 x1=x1+round(35*Mk);
 }
 line(x+round(5*Mk),y+round(23*Mk),x+round(8*Mk), y+round(25*Mk));
 line(x+round(5*Mk),y+round(27*Mk),x+round(8*Mk),y+round (25*Mk));
 line(x,y+round(25*Mk),x+round(8*Mk),y+round (25*Mk));

}
int main (void)
   {
   clrscr();
   int gdriver=DETECT,gmode,errorcode;
   initgraph(&gdriver,&gmode,"D:\\USER\\BORLANDC\\BGI");
   errorcode=graphresult();
   if (errorcode!=grOk)
   {  printf("Graphics error: %s\n");
   getch ();
   exit (1);        /* return with eroor code */
   }

Picture(100,200,3);
getch();
closegraph();
return 0;
}
ps:char smile отвечает за построение изображения заливки размером 8х8.

From Stilet: Темы называем правильно иначе в баню! Одна тема должна быть в топике.

Последний раз редактировалось Stilet; 12.03.2009 в 12:55.
modulrev вне форума Ответить с цитированием
Старый 11.03.2009, 11:53   #12
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Код:
{ Вот исходник программы на с++.Нужно сделать то же самое,но на паскале.
  Очень нужно.}

uses Graph, CRT;

const
  smile : FillPatternType =
  ($00, $66, $66, $00, $18, $42, $7E, $00);

procedure Picture(x, y : Integer; Mk : Real);
var
  x1, i : Integer;
begin
  Line(x, y, x + Round(15 * Mk), y + Round(10 * Mk));
  Line(x + Round(15 * Mk), y + Round(10 * Mk), x + Round(160 * Mk), y + Round(10 * Mk));
  Line(x + Round(160 * Mk), y + Round(10 * Mk), x + Round(175 * Mk), y + Round(0 * Mk));
  Line(x + Round(160 * Mk), y + Round(40 * Mk), x + Round(175 * Mk), y + Round(50 * Mk));
  Line(x + Round(160 * Mk), y + Round(40 * Mk), x + Round(15 * Mk), y + Round(40 * Mk));
  Line(x + Round(15 * Mk), y + Round(40 * Mk), x, y + Round(50 * Mk));
  { Circle(x + Round(20 * Mk), y + Round(20 * Mk), Round(10 * Mk)); }
  x1 := x + Round(30 * Mk);
  SetFillPattern(smile, 14);
  for i := 1 to 4 do
  begin
    SetColor(15);
    Circle(x1, y + Round(25 * Mk), Round(13 * Mk));
    FloodFill(x1, y + Round(25 * Mk), 15);
    x1 := x1 + Round(35 * Mk);
  end;
  Line(x + Round(5 * Mk), y + Round(23 * Mk), x + Round(8 * Mk),
    y + Round(25 * Mk));
  Line(x + Round(5 * Mk), y + Round(27 * Mk), x + Round(8 * Mk),
    y + Round(25 * Mk));
  Line(x, y + Round(25 * Mk), x + Round(8 * Mk), y + Round(25 * Mk));
end;

var
  Gd, Gm, ErrorCode : Integer;

begin
  ClrScr;
  Gd := Detect;
  InitGraph(Gd, Gm, 'X:\BP');
  ErrorCode := GraphResult;
  if ErrorCode <> grOk then
  begin
    WriteLn('Ошибка инициализации графики: ', GraphErrorMsg(ErrorCode));
    WriteLn('Запуск программы внутри School Pak может исправить эту проблему.');
    WriteLn('School Pak можно скачать по адресу http://lnk.in/scpak');
    ReadLn;
    Halt(1);
  end;

  Picture(100,200,3);
  ReadKey;
  CloseGraph;
end.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/

Последний раз редактировалось OCTAGRAM; 11.03.2009 в 12:08. Причина: меняю QUOTE на CODE
OCTAGRAM вне форума Ответить с цитированием
Старый 11.03.2009, 18:56   #13
modulrev
Пользователь
 
Регистрация: 10.01.2009
Сообщений: 21
По умолчанию Спасибо

OCTAGRAM,спасибо тебе большое.У меня просто не работает тот исходник на с++.А препод сказал можно и на паскале сдать.респект тебе
modulrev вне форума Ответить с цитированием
Старый 11.03.2009, 19:43   #14
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

респект в виде +репутации (значок весов), плиз
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 12.03.2009, 10:21   #15
modulrev
Пользователь
 
Регистрация: 10.01.2009
Сообщений: 21
Вопрос Да не проблема

Цитата:
Сообщение от OCTAGRAM Посмотреть сообщение
респект в виде +репутации (значок весов), плиз
Да не проблема.Только я ничего такого не нашел,весов этих
modulrev вне форума Ответить с цитированием
Старый 12.03.2009, 10:27   #16
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Цитата:
OCTAGRAM
Новичок

Регистрация: 10.03.2009
Сообщения: 13
Репутация:31
и чуть ниже три значка, лампочка, весы, дорожный знак
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 12.03.2009, 10:30   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Слева столбец в котором Ник того, кто сообщение написал видно? под количеством сообщений и Репутация есть три значка - средний (пиктограмма "весы") - для добавления отзыва (там же и текст отзыва можно написать. Его прочитает только тот, кому этот отзыв назначен.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика в Паскале =)) barahlysh Помощь студентам 4 13.12.2009 19:31
Графика на паскале..... КиношкА Помощь студентам 8 10.01.2008 10:09
Графика в Паскале Win't Паскаль, Turbo Pascal, PascalABC.NET 2 16.12.2007 21:54