|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.07.2010, 09:34 | #1 |
Пользователь
Регистрация: 08.11.2009
Сообщений: 33
|
перевести код паскаль в C#
напишите программу выполняющую следущие действия, с клавиатуры задаются размеры A, B прямоугольного отверстия и размеры x, y, z кирпича. Определить пройдёт ли кирпич через отверстие.
есть код в паскале Код:
|
12.07.2010, 09:57 | #2 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
Код:
|
12.07.2010, 10:05 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Код:
I'm learning to live...
|
12.07.2010, 10:06 | #4 |
Пользователь
Регистрация: 08.11.2009
Сообщений: 33
|
Спасибо огромное!
|
11.04.2011, 17:52 | #5 |
Новичок
Джуниор
Регистрация: 01.02.2011
Сообщений: 1
|
Перевод
Пожалуйста помогите. Перевести на C# надо
unit Boules; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls,variables ; procedure nouvelle_position(n:integer); {calcule tout } procedure collision(n1,n2 :integer); {calcul des vitesses aprиs chocs} procedure bande(n:integer); implementation procedure nouvelle_position(n:integer); var i,j:integer; begin boule[n].xold := boule[n].x; boule[n].yold := boule[n].y; for i:=1 to 16 do if boule[i].etat<>0 then begin bande(i);trou(i); for j:=i+1 to 16 do begin if boule[j].etat<>0 then begin if test_collision(i,j) then begin collision(i,j); {si collision on assigne la couleur de la premiйre boule touchйe} if casse then begin if (i=1) and (jr[main].first=clblue) then jr[main].first:=boule[j].couleur; if (j=1) and (jr[main].first=clblue) then jr[main].first:=boule[i].couleur; end else casse:=true; end; end; end; boule[n].x:=boule[n].xold+boule[n].vx; boule[n].y:=boule[n].yold+boule[n].vy; end; ralentir(n); end; function test_collision(n1,n2:integer):boole an; {renvoie vrai s'il y collision entre les deux boules, sinon renvoie non} var dx,dy,dx2,dy2:single; begin dx:=(boule[n1].x+boule[n1].vx-boule[n2].x-boule[n2].vx); {ecart sur x entre les 2 boules} dy:=(boule[n1].y+boule[n1].vy-boule[n2].y-boule[n2].vy);{ecart sur y} dx2:=(boule[n1].x-boule[n2].x); dy2:=(boule[n1].y-boule[n2].y); if ((dx*dx+dy*dy)<={390}324) and ((dx2*dx2+dy2*dy2)>=320) {formule de pythagore} then result:=true else result:=false; end; function test_collision2(n1,n2:integer):bool ean; {renvoie vrai s'il y collision entre les deux boules, sinon renvoie non} var dx,dy:single; begin dx:=(boule[n1].x-boule[n2].x); {ecart sur x entre les 2 boules} dy:=(boule[n1].y-boule[n2].y); {acart sur y} if (dx*dx+dy*dy)<={390}320 {formule de pythagore} then result:=true else result:=false; end; procedure collision(n1,n2 :integer); var dy,dx,v1x,v1y,v2x,v2y,a,stock:singl e; begin if test_collision2(n1,n2) then begin stock:=boule[n1].vx; boule[n1].vx:=boule[n2].vx*3/4+stock*1/4; boule[n2].vx:=stock*3/4+boule[n2].vx*1/4; stock:=boule[n1].vy; boule[n1].vy:=boule[n2].vy*3/4+stock*1/4; boule[n2].vy:=stock*3/4+boule[n2].vy*1/4 end; if test_collision(n1,n2) then dx:=(boule[n1].x+boule[n1].vx-boule[n2].x-boule[n2].vx); {idem} dy:=(boule[n1].y+boule[n1].vy-boule[n2].y-boule[n2].vy); {idem} a:=arctan(dy/(dx+0.00000001)); {angle formй par l'axe passant par les centres des boules et l'axe x} v1x:=boule[n1].vx; {0.000000001 pour enlever la division par 0} v2x:=boule[n2].vx; v1y:=boule[n1].vy; v2y:=boule[n2].vy; {nouvelles vitesses donnйes par les relations simplificatrices des chocs entre boules} boule[n1].vx:=(v2x*cos(a)+v2y*sin(a))*cos(a) +(v1x*sin(a)-v1y*cos(a))*sin(a) ; boule[n1].vy:=(v2x*cos(a)+v2y*sin(a))*sin(a) +(-v1x*sin(a)+v1y*cos(a))*cos(a) ; boule[n2].vx:=(v1x*cos(a)+v1y*sin(a))*cos(a) +(v2x*sin(a)-v2y*cos(a))*sin(a) ; boule[n2].vy:=(v1x*cos(a)+v1y*sin(a))*sin(a) +(-v2x*sin(a)+v2y*cos(a))*cos(a) ; end; procedure bande(n:integer); var a,xx,yy:single; begin xx:=boule[n].x+boule[n].vx; yy:=boule[n].y+boule[n].vy; {bandes horizontales} if (( (xx>=xb) and (xx<=xc) ) or ( (xx>=xd) and (xx<=xe) )) and ( (yy<=yb) or (yy>=yk) ) then boule[n].vy:=-boule[n].vy; {bandes verticales} if ( (yy>=ya) and (yy<=yl) and ( (xx<=xa) or (xx>=xf) ) ) or ( (((xx>=xc) and (xx<=xcp)) or ((xx>=xdp) and (xx<=xd))) and ((yy<=ycp) or (yy>=yjp)) ) then boule[n].vx:=-boule[n].vx; {droites а 45 degrй montantes} if ( (xx+yy<=xc+yb) and (xx>=xc) and (yy>=ycp) ) or ( (xx+yy>=xd+yk) and (xx<=xd) and (yy<=yjp) ) or ( (xx+yy<=xa+yl) and (yy>=yl) ) or ( (xx+yy>=xb+yk) and (xx<=xb) ) or ( (xx+yy<=xe+yb) and (xx>=xe) ) or ( (xx+yy>=xf+ya) and (yy<=ya) ) then begin a:=boule[n].vx; boule[n].vx:=-boule[n].vy; boule[n].vy:=-a; exit end; {droites а 45 degrйs descendantes} if ( (xx-xd>=yy-yb) and (xx<=xd) and (yy>=ycp) ) or ( (xx-xc<=yy-yk) and (xx>=xc) and (yy<=yjp) ) or ( (xx-xa<=yy-ya) and (yy<=ya) ) or ( (xx-xb>=yy-yb) and (xx<=xb) ) or ( (xx-xe<=yy-yk) and (xx>=xe) ) or ( (xx-xf>=yy-yl) and (yy>=yl) ) then begin a:=boule[n].vx; boule[n].vx:=boule[n].vy; boule[n].vy:=a; exit end; end; |
20.10.2013, 21:46 | #6 |
Регистрация: 20.10.2013
Сообщений: 7
|
Переведите код паскаль в С#, очень нужно.
program pr1_9;
uses crt; var mas: array[1..100] of integer ; n,i,j,k: integer; begin clrscr; writeln('Bvedite kol elementov posled (ne bolshe 100); '); read(n); writeln('Bvedite posledov'); for i:=1 to n do read(mas[i]); k:=0; for j:=1 to 20 do for i:=1 to n do if (mas[i]=(2*j*2*j) ) then k:=k+1; writeln('Kol = ',k); readln; readln; end. |
20.10.2013, 21:51 | #7 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
вы читали название форума?
читайте - "Помощь студентам", ну и где тут "Сделаем за студента" |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевести код на C++ | mela | Помощь студентам | 3 | 01.06.2010 22:35 |
Перевести код с VB на C# | LT. | Общие вопросы .NET | 2 | 25.05.2010 19:21 |
Перевести код на Делфи | Superlotles | Помощь студентам | 7 | 30.03.2010 20:18 |
Перевести код с Pascal в C++ | gigaman | Общие вопросы C/C++ | 1 | 26.03.2008 12:18 |