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

из паскаля в c++ - C++

Восстановить пароль Регистрация
 
Vldslv
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 78
13.05.2013, 21:07     из паскаля в c++ #1
вот программы помогите переделать в с++
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{Program101l.Решает следующую задачу:
По данным значениям аргументов a,b вычислить значение функции
f(a,b). При организации вычисления необходимо выявить сходные
по своей схеме последовательности операций, различающихся лишь
операндами, и представить их в ввиде отдельных функций. Аргументы
должны принадлежать области определения функции:
f(a,b)=sqr(sqr(a+1+1/b)+1/(b+1))
Автор: Данилов В.О., гр. 39-11
Дата : 23.02.2013 }
 
{функция g}
function g (a,b:real):real;
begin
  g:=sqr(a+1/b);
end;
 
{основная программа}
var
  b,a,f:real;
begin
  writeln('введите b');
  readln(b);
  writeln('введите a');
  readln(a);
  {условие существования}
  if (b<>0) and (b+1<>0) then
    begin
    f:= g(g(a+1,b),b+1);
    writeln('ввывод f(a,b)= ',f:3:3)
    end
  else
    writeln('решений нет');
  readln;
end.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{prog105.pas
Программа решает следующую задачу:
Найти наибольший общий делитель и наименьшее общее кратное для
четырех натуральных чисел a,b,c,d.
Автор: Данилов В.О., гр. 39-11
Дата : 23.02.2013 }
 
uses crt;
var a,b,c,d:integer;{натуральные числа}
 
{находит наибольший общий делитель}
function NOD(x,y:integer):integer;
Begin
  If x<>0 then
    NOD:=NOD(y mod x,x)
  else
    NOD:=y;
End;
 
{находит наименьшее общее кратное}
function NOK(x,y:integer):integer;
Begin
  NOK:=(x div NOD (x,y))*y;
end;
 
{Основная программа}
 
Begin
  clrscr;
  repeat
    Writeln ('Введите 4 натуральных числа через enter:');
    Readln(a,b,c,d);
  until(a>0)and(b>0)and(c>0)and(d>0);{условие для введенных чисел}
Writeln('NOK ',a,' ',b,' ',c,' ',d,'=',NOK(NOK(a,b),NOK(c,d)));
Writeln('NOD ',a,' ',b,' ',c,' ',d,'=',NOD(NOD(a,b),NOD(c,d)));
Readln;
End.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{Программа решает следующую задачу:
Даны вещественные x1,y1,x2,y2,x3,y3,x4,y4. Определить,
имеет ли отрезок с концами (x1,y1) и (x2,y2) общие точки с отрезком
с концами (x3,y3) и (x4,y4).
Автор: Данилов Владислав, группа 39-11.
Дата: 07.10.2012.}
 
var x1,x2,x3,x4,y1,y2,y3,y4,u1,u2: real;
 
Begin
{Ввод}
    Writeln('Первый отрезок');
    Write('x1 = '); Read(x1);
    Write('y1 = '); Readln(y1);
    Write('x2 = '); Read(x2);
    Write('y2 = '); Readln(y2);
    Writeln('Второй отрезок');
    Write('x3 = '); Read(x3);
    Write('y3 = '); Readln(y3);
    Write('x4 = '); Read(x4);
    Write('y4 = '); Readln(y4);
{Вычисление}
    if (y4-y3)*(x2-x1)-(x4-x3)*(y2-y1)=0 then
        if ((x4-x3)*(y1-y3)-(x1-x3)*(y4-y3)=0)or((x2-x1)*(y1-y3)-(y2-y1)*(x1-x3)=0) then
            writeln('Отрезки лежат на одной прямой') else
            Writeln('Отрезки лежат на параллельных прямых')
        else begin
    u1:=((x4-x3)*(y1-y3)-(x1-x3)*(y4-y3))/((y4-y3)*(x2-x1)-(x4-x3)*(y2-y1));
    u2:=((x2-x1)*(y1-y3)-(y2-y1)*(x1-x3))/((y4-y3)*(x2-x1)-(x4-x3)*(y2-y1));
{Вывод}
    if (u1>=0)and(u1<=1)and(u2>=0)and(u2<=1) then
    Writeln('Точка пересечения: (',(x1+u1*(x2-x1)):5:2,';',(y1+u1*(y2-y1)):5:2,')')
    else Writeln('Отрезки не пересекаются');
    readln;
    end;
End.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{Программа решает следующую задачу: Элементы линейного массива
сдвинуть циклически на m элементов вправо.
Автор: Данилов В.О
группа 39-11
Дата: 12.11.2012}
Const
 N=20;
VAR
 A,B:Array [1..N] of Byte;
 i,j,m:Byte;
BEGIN
 {Вывод случайного массива}
 Randomize;
 Writeln('Вывод массива:');
 For i:=1 to N do
  begin
   A[i]:=Random(10);
   Write(A[i]:3);
  end;
 Writeln;
 {ввод}
 Writeln('Введите число на которое нужно сдвинуть массив');
  Write('m= ');
 Readln(m);
 {вычисление}
 If Abs(m)>=N then
  Writeln('Ошибка, число слишком большое!')
 else
 If m=0 then B:=A
 else
 If (m>0) then
  begin
   for j:=1 to N-m do B[j+m]:=A[j];
   for j:=N-m+1 to N do B[j-N+m]:=A[j];
  end;
 Writeln('Новый массив:');
 For i:=1 to N do Write(B[i]:3);
 Readln;
END.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{Программа решает следующую задачу: Даны коэффициенты многочлена
Р(х)= Pn*x^n + P(n-1)*x^(n-1) + ... + P1*x + P0. Найти для
данного х коэффициенты и значение производной многочлена
P(x):R(x)=(P(x))'.
Автор:Данилов Владислав
Группа: 39-11
Дата: 08.01.2013}
 
type mas=array[0..50] of integer;{массив коэффициентов}
 
{процедура вывода коэффициентов при x}
 
procedure Vvod(var m:mas;var n:integer);
var i:integer;
begin
  write('введите степень многочлена n= ');
  readln(n);
  writeln('массив коэффициентов');
  for i:=0 to n do
    begin
      m[i]:=random(10);
      write(m[i],' ');
    end;
  writeln;
end;
 
{функция возведения x в натуральную степень}
 
function Pow(t:real;p:integer):real;
var i:integer;
    s:real;
begin
  s:=1;
  for i:=1 to p do
    s:=s*t;
    Pow:=s;
end;
 
{функция для вычисления производной}
 
function Summa(m:mas;n:integer;x:real):real;
var i:integer;
    sm:real;
begin
  sm:=0;{нулевой член=0, первый=коэффициенту}
  for i:=0 to n do{от второго до конца}
    sm:=sm+m[i]*Pow(x,i);{суммируем коэффициенты}
    Summa:=sm;
end;
 
 
var a,k:mas;
    n,i,j:integer;
    x,sm:real;
begin
  randomize;
  write('x=');readln(x);
  Vvod(a,n);
  write('Сумма=',Summa(a,n,x):0:4);
  readln
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2013, 21:07     из паскаля в c++
Посмотрите здесь:

C++ из паскаля в си)
с паскаля на Си++ C++
из паскаля в С++ C++
Из паскаля в С++ C++
Из паскаля в С++ C++
из паскаля в C++ C++
C++ с паскаля в с++
с паскаля на с++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 13:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru