Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Нужна помощь в трансляции кода (https://forum.antichat.xyz/showthread.php?t=136110)

Unregistered 20.08.2009 09:10

Нужна помощь в трансляции кода
 
В общем нужен человек, который мог бы помочь мне за спасибо. Нужно переписать код из паскаля (Borland Pascal 7.0 for Windows) в С++ (Borland C++ 5.02). По усмотрению модератора, может топик переедет в "Программирование", я создал здесь потому-что народу много.
1. Это у нас длинна окружности
Код:

program n_1_13;
uses WinCRT;
var
  r:real;
begin
WriteLn('Input radius:');
Write('R=');
Read(r);
WriteLn('L=2*Pi*R ');
WriteLn('Result:');
Write('L=',2*Pi*r:5:2);
end.

2. Дано действительное число y, натуральное n и случайно генерированное случайное число x (x=0...n). вычислить http://pic.ipicture.ru/uploads/090820/9sScAGb6K3.jpg вывести целую часть результата.

Код:

program n_2_13;
uses WinCRT;
var n:integer;
    y,x:real;
begin
Write('y=');
Read(y);
Write('n=');
Read(n);
Randomize;
WriteLn('x=',random(n+1));
WriteLn(frac((cos(exp(Ln(y)*x))+x-y/3)/(2*sqr(x)-y+1)):0:5);
end.

3. Дано три действительных числа. Выяснить что больше, квадрат минимального или максимальное число. (Зделать ветвлениями)

Код:

program n_3_13;
uses WinCRT;
var a,b,c,min,max:real;
begin
Write('a=');
Read(a);
Write('b=');
Read(b);
Write('c=');
Read(c);
if (a=b) or (a=c) or (b=a) or (b=c) or (c=a) or (c=b) then
  begin
        WriteLn('Incorrect values are entered. Can`t continue');
        Exit;
  end;
if (a>b) and (a>c) then max:=a else
  if (b>a) and (b>c) then max:=b else
      if (c>a) and (c>b) then max:=c;
if (a<b) and (a<c) then min:=a else
  if (b<a) and (b<c) then min:=b else
      if (c<a) and (c<b) then min:=c;
if (sqr(min)>max) then WriteLn('Square of min is more than max') else
  if (sqr(min)<max) then WriteLn('Square of min is less than max') else
      if (sqr(min)=max) then WriteLn('Square of min is equal to max');
end.

4. Простым называется число, которое имеет два делителя — само число и единицу. Выяснить, является ли данное натуральное число n простым. (Циклы)

Код:

program n_4_13;
uses WinCRT;
var n,i:real;
begin
Write('n=');
Read(n);
i:=1;
repeat i:=i+1 until n mod i = 0;
if n=i then WriteLn(n,' is simple') else
  WriteLn(n,' isn`t simple');
end.

5. Дано натуральное число n. Вычислить http://i012.radikal.ru/0908/73/89ff12b4e5dd.jpg

Код:

program n_4_38;
uses WinCRT;
var i,j,n:word;
    pr:real;
begin
write('n=');
read(n);
pr:=1;
 for i:=1 to n do
  for j:=1 to n do
    pr:=pr*sin(2*i+j*j);
writeln(pr);
end.

6. Дано натуральное число n, и действительные числа a1, a2, …, an. Вычислить http://i066.radikal.ru/0908/27/d866f8752dbd.jpg
Код:

А это я и в Паскале даже не зделал :(
Очень надеюсь на вашу помощь.
З.Ы. Если таки кто-то возьмется помогать — используйте, пожалуйста, printf, scanf (кажется так операторы эти пишутся). Заранее благодарен.

gisTy 20.08.2009 22:29

соблственно С
Код:

#include<stdio.h>

void main(void)
{
float r;

printf("Input radius:\n > ");
scanf("%f", &r);
printf("L=2*Pi*R\nResult:\n > %5.2f", 2*3,14*r);
}

на остальное времени нет, так как убегать надо..

Unregistered 27.08.2009 20:30

Вверх.
очень нужна помощь :(

Unregistered 27.08.2009 20:43

Код:

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
main()
{
float r;
const float p=3.14;
printf("Input radius:\n > ");
scanf("%f", &r);
printf("L=2*Pi*R\nResult:\n > %5.2f", 2*p*r);
getch();
return 0;
}

Это я первое подправил, так оно должно выглядеть в моем компиляторе. А сам с 0 сделать не могу :(

Fata1ex 27.08.2009 20:53

Код:

main()
...
return 0;

эээ?

везде заменяешь readln & writeln на cin & cout или на scanf & printf
:= на =
begin & end на { & }

и немного подправить циклы и объявление переменных
разве это сложно сделать самому?

Unregistered 27.08.2009 20:55

форматирование, мне это все сложно держать в башке при том что я только об этом прочитал.

dnd 27.08.2009 21:15

void lab2()
{
double x=0,y=0;
int n;
printf("y=");
scanf("%f",&y);
printf("n=");
scanf("%f",&n);
srand(time(0));
printf("\r\nx=%f\r\n%4.0f",x=rand()%n,(cos(pow(y,x )) + x - y/3) / (2*pow(x,2) - y + 1));
}

long lab6()
{
long n;
float a=0,P=1;
printf("n=");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("a%d=",i+1);
scanf("%e",&a);
P *= (1 + pow(a,n));
}
printf("\r\nP=%f",P);
return 1;
}

Mozy 28.08.2009 11:57

Вот 3
Код:

#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;

int main(void){
float a,b,c,min,max;

cout << "a=";
cin >> a;
cout << "b=";
cin >> b;
cout << "c=";
cin >> c;

if ((a==b) || (a==c) || (b==a) || (b==c) || (c==a) || (c==b)){
  cout << "Incorrect values are entered. Can`t continue"<<endl;
  getch();
  exit(1);
}
 
if ((a>b) && (a>c)){
max=a;}
else{
  if ((b>a) && (b>c)){
  max=b;}
  else{
      if ((c>a) && (c>b)){
      max=c;}}}
     
if ((a<b) && (a<c)){
min=a;}
else{
  if((b<a) && (b<c)){
  min=b;}
  else{
      if ((c<a) && (c<b)){
      min=c;}}}
     
if (pow(min,2)>max){
cout << "Square of min is more than max"<<endl;
getch();}
else{
  if (pow(min,2)<max){
  cout << "Square of min is less than max"<<endl;
  getch();}
  else{
      if (pow(min,2)==max){
      cout << "Square of min is equal to max" << endl;
      getch();}}}

return 0;
}

Вот 4
Код:

#include<iostream>
#include <conio.h>
using namespace std;

int main(void){
float n,i=1;
cout <<"n=";
cin >> n;

do{
i++;
}while(n%i==0);

if (n=i){
cout << n << " is simple"<<endl;
getch();}
else{
  cout<< n<<" isn`t simple"<<endl;
getch();}

return 0;
}

Вот 5
Код:

#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;

int main (void){
int i,j,n;
float pr=1;

cout << "n=";
cin >>n;
 for (i=1;i<=n;i++){
  for(j=1;j<=n;j++){
    pr=pr*sin(2*i+j*j);
  }
 }
cout << pr;
getch();

return 0;
}



Время: 06:29