Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
san_andreys
Сообщений: n/a
#1

срочно требуется помощь... надо перевести из pascal в c++. каким образом ето сделать не понимаю... - C++

28.05.2009, 19:49. Просмотров 472. Ответов 0
Метки нет (Все метки)

исходник паскаля

Program Kurs;
uses crt,graph;
type Dim=array[1..640] of byte;
DimPtr=^Dim;
var Wx,Wy,col,x1,i :integer;
DirPos,ImageFile,c :string;
driv,mode,x,y :integer;
seektiff :longint;
colmax,colmin :integer;
KoefSh :real;
a :array[1..480] of longint;
p :array[1..480] of DimPtr;
f :file;
Procedure HeadRead;
const TH :array[0..3] of byte=(73,73,42,0);
var NumberofTag,IFDlength :integer;
TagType,PoinTyp :integer;
comp,PoinAdr :longint;
Head,IFDInd,BegIFD :longint;
TiffHead :longint absolute TH;

begin
blockread(f,Head,4); {chtenie zagolovka faila}
if Head<>TiffHead then begin
writeln('eto ne TIFF, konec');
c:=readkey;
halt;
end;
seek(f,4);
blockread(f,BegIFD,4);{chtenie ukazatela na opisatelnuiu chast'}
seek(f,BegIFD);
blockread(f,NumberofTag,2);{chtenie kol-va tagov}
IFDInd:=BegIFD+2;
for i:=1 to NumberofTag do begin
blockread(f,TagType,2);
case TagType of
256: begin
inc(IFDInd,8);
seek(f,IFDInd);
blockread(f,Wx,4);{razmer po gorizontali}
end;
257: begin
inc(IFDInd,8);
seek(f,IFDInd);
blockread(f,Wy,4);{razmer po verticali}
end;
273: begin
inc(IFDInd,2);
seek(f,IFDInd);
blockread(f,PoinTyp,2);{tip zapisei}
inc(IFDInd,2); {v tablice}
seek(f,IFDInd);
blockread(f,comp,4);{kol-vo oblastei}
inc(IFDInd,4); {dannih}
seek(f,IFDInd);
if comp=1 then begin
blockread(f,seektiff,4); {ukazatel na nachalo dannih}
end
else begin
blockread(f,PoinAdr,4);{ukazatel na tablicu}
seek(f,PoinAdr);
blockread(f,seektiff,PoinTyp);
end;
end;
else begin
inc(IFDInd,8);
end;
end;
inc(IFDInd,4);
seek(f,IFDInd);
end;
end;
{----NACHALO ISPOLNYAEMOI CHASTI----}
begin
clrscr;
DirPos:='d:\tp7\images'; {ustanovka tekushchego kataloga}
clrscr;
writeln('vvedite imya faila iz etogo kataloga');
write('d:\tp7\images\');
readln(ImageFile);
if ImageFile='' then
begin
writeln('ne zadan file, konec');
c:=readkey;
halt;
end;
writeln('vvedite colmin');
read(colmin);
writeln('vvedite colmax');
read(colmax);
assign(f,ImageFile);
reset(f,1);
DirPos:='d:\tp7';
if (ImageFile='eagle.dat') then begin
Wx:=180;
Wy:=240;
seektiff:=0;
end
else Headread;
seek(f,seektiff);
for y:=1 to Wy do
begin
new(p[y]);
blockread(f,p[y]^,Wx); {chtenie faila}
end;
close(f);
driv:=9;
mode:=2;
InitGraph(driv,mode,''); {inizializaciya grafiki}
for y:=0 to 15 do
begin
setRGBpalette(y,y*4,y*4,y*4); {ustanovka palitry}
setPalette(y,y);
end;
for y:=1 to Wy do
begin
a[y]:=0;
for x:=1 to Wx do
begin
col:=p[y]^[x];
a[y]:=a[y]+col;
col:=col shr 4;
putpixel(x,y,col); {vyvod ishodnogo izobrajeniya}
end;
a[y]:=round(a[y]/Wx);
end;
SetColor(15);
OutTextXY(0,Wy+10,'najmite_lubuiu_klavishu');
c:=readkey;
SetColor(0);
OutTextXY(0,Wy+10,'najmite_lubuiu_klavishu');
if (Wx<(640/2)) then x1:=Wx
else x1:=640-Wx;
for y:=1 to Wy do
begin
if (a[y]<colmax) and (a[y]>colmin)
then begin
for x:=1 to x1 do
putpixel(x,y,0);
for x:=1 to Wx do
begin
col:=p[y]^[x];
col:=col shr 4;
putpixel(x+x1,y,col);
end;
end;
end;
for y:=1 to Wy do
dispose(p[y]); {osvobojdenie pamiyati}
SetColor(15);
OutTextXY(0,Wy+10,'najmite_lubuiu_klavishu_dlya_vihoda_iz_programmy');
c:=readkey;
end.



буду очень благодарен вам)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2009, 19:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос срочно требуется помощь... надо перевести из pascal в c++. каким образом ето сделать не понимаю... (C++):

Компьютерная графика на VS C++ MFC. Срочно требуется помощь! - C++
Привет всем. Я с 3 курса факультета информационных технологий НГУ. Хочу попросить помощи в решении задач по курсу комп. графики....

Каким образом можно сделать выключение компютера С++ - C++
Появилась идея сделать интересную программу. Всё уже продумал кроме выключения ПК. То есть каким образом заставить ПК выключится после...

Конвертация данных. Не понимаю, каким образом система находит объект - 1С
Всем привет. Помогите по конвертации пожалуйста. Обмен между Бухней 2.0 и УТ 10.3. Короче, есть несколько контрагентов, у которых...

я в java не понимаю а надо срочно решить!!! - Java
Створити програму, що матиме зручний інтерфейс (вікно, головне меню, рядок статусу та ін.). У вікні програми повинно...

Надо перевести на JAVA. А я ничего не понимаю в яве - Java
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using...

Каким образом Geany связана с Free Pascal? - Ubuntu Linux
Здравствуйте. Компьютер с window 7 временно не работает, поэтому перешёл за ноутбук с Ubuntu 12.04. И вот возник вопрос, как работать с...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2009, 19:49
Привет! Вот еще темы с ответами:

Срочно требуется помощь! Непонятоно! - C# ASP.NET
Есть код редиректа с асп-шной страницы на удаленный сервер: &lt;% Response.Redirect...

Каким образом может это перевести в базис Стрелки Пирса? - Логика и множества
\ (\bar{x}\bar{y}\bar{z}t)+(\bar{x}\bar{y}zt)+(x\bar{y}\bar{z}t)+(x\bar{y}z\bar{t})+(x\bar{y}zt)+(xy\bar{z}t)

Каким образом в Matlab можно перевести четкие числа в нечеткие и сложить их? - Matlab
Каким образом в Matlab можно перевести четкие числа в нечеткие и сложить их? В задаче имеется ряд коэффициентов (от 1 до 5) и их веса...

срочно надо сдать контрольную Pascal !! - Pascal
Помогите пожалуйста осталась неделя до сдачи контрольной ! 2е задачи сам смог решить ) 2 Программы разветвляющей структуры. 2....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru