Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
DXIC
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 3
1

Перевод кода из Delphi в C++

14.11.2012, 00:45. Просмотров 911. Ответов 10
Метки нет (Все метки)

Ребята надо перевести код из Delphi в С++.
Delphi
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
procedure TF2_DAL.RaschetClick(Sender: TObject);
var mas: array[1..500] of Integer;
i: integer;
begin
Randomize;
Case RG1_DAL.ItemIndex Of
0 :
begin
M1_DAL.Clear;
for i:= 1 to 500 do
begin
mas[i]:=RandomRange(1,500);
if (mas[i] mod 10 = 0) then M1_DAL.Lines.Add(IntToStr(mas[i]));
end;
end;
1 :
begin
M1_DAL.Clear;
i:=1;
while i<=500 do
begin
mas[i]:=RandomRange(1,500);
if (mas[i] mod 10 =0) then M1_DAL.Lines.Add(IntToStr(mas[i]));
inc(i);
end;
end;
2 :
begin
M1_DAL.Clear;
i := 1;
Repeat
mas[i]:=RandomRange(1,500);
if (mas[i] mod 10 =0) then M1_DAL.Lines.Add(IntToStr(mas[i]));
inc(i);
until i > 500;
end;
end;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 00:45
Ответы с готовыми решениями:

Перевод кода из Delphi в C++
unit UDAL; interface uses Windows, Messages, SysUtils, Variants,...

Перевод кода из Delphi в C++
unit pr1; interface uses Windows, Messages, SysUtils, Classes, Graphics,...

Перевод кода из Delphi в C++
Помогите друзья! это код Делфи.Переделать это на С++WITH OpenDialog1 Do ...

Перевод кода с Delphi на С++
Доброго времени суток:) У меня возникла проблема с редиректом в synapse(про...

Перевод кода Delphi
Здравствуйте!! Ребята помогите, пожалуйста, с переводом кода с Delphi на С++...

10
batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1
14.11.2012, 06:16 2
Я б перевёл сей чудо, но для начала воспользуйтесь тегами оформления и сделайте код читабельным, ибо это не код, это уродство какое-то.
0
DXIC
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 3
14.11.2012, 17:26  [ТС] 3
Delphi
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
procedure TForm1.RaschetClick(Sender: TObject);
var mas:  array[1..500] of Integer;
    i: integer;
begin
  Randomize;
  Case RadioGroup1.ItemIndex Of
  0 :
    begin
      Memo1.Clear;
      for i:= 1 to 500 do
      begin
        mas[i]:=RandomRange(1,500);
        if (mas[i] mod 10 = 0) then  Memo1.Lines.Add(IntToStr(mas[i]));
      end;
    end;
  1 :
    begin
      Memo1.Clear;
      i:=1;
      while i<=500 do
      begin
        mas[i]:=RandomRange(1,500);
        if (mas[i] mod 10 =0) then Memo1.Lines.Add(IntToStr(mas[i]));
        inc(i);
      end;
    end;
  2 :
    begin
      Memo1.Clear;
      i := 1;
      Repeat
        mas[i]:=RandomRange(1,500);
        if (mas[i] mod 10 =0) then Memo1.Lines.Add(IntToStr(mas[i]));
        inc(i);
      until i > 500;
    end;
  end;
Вот ребят сделал стандартный код. помогите кто-нибудь
0
nick42
Практикантроп
4338 / 2345 / 412
Регистрация: 23.09.2011
Сообщений: 4,996
14.11.2012, 18:01 4
Вот мой вариант (но я не большой знаток Delphi...)__
Кликните здесь для просмотра всего текста
C++
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
62
63
64
65
66
67
void __fastcall TForm1::RaschetClick(TObject *Sender)
{
//var mas:  array[1..500] of Integer;
//    i: integer;
   int i, mas[500];
//begin
//  Randomize;
//  Case RadioGroup1.ItemIndex Of
   Randomize;
   switch (RadioGroup1->ItemIndex)
  {
/*   0 :
    begin
      Memo1.Clear;
      for i:= 1 to 500 do
      begin
        mas[i]:=RandomRange(1,500);
        if (mas[i] mod 10 = 0) then  Memo1.Lines.Add(IntToStr(mas[i]));
      end;
    end;  */
    case 0:
      Memo1->Clear();
      for (i=0;i<500;i++) {
        mas[i] = random(500);
        if (mas[i] % 10 == 0) Memo1->Lines->Add(IntToStr(mas[i])) ;
      }  break;
/*   1 :
    begin
      Memo1.Clear;
      i:=1;
      while i<=500 do
      begin
        mas[i]:=RandomRange(1,500);
        if (mas[i] mod 10 =0) then Memo1.Lines.Add(IntToStr(mas[i]));
        inc(i);
      end;
    end;  */
    case 1:
      Memo1->Clear();
      i = 0;
      while (i < 500)  {
        mas[i] = random(500);
        if (mas[i] % 10 == 0) Memo1->Lines->Add(IntToStr(mas[i])) ;
        ++i;
      }  break;
/* 2 :
    begin
      Memo1.Clear;
      i := 1;
      Repeat
        mas[i]:=RandomRange(1,500);
        if (mas[i] mod 10 =0) then Memo1.Lines.Add(IntToStr(mas[i]));
        inc(i);
      until i > 500;
    end;
  end;   */
    case 2:
      Memo1->Clear();
      i = 0;
      do  {
        mas[i] = random(500);
        if (mas[i] % 10 == 0) Memo1->Lines->Add(IntToStr(mas[i])) ;
        ++i; }
      while (i < 500);
      break;
  }
}
1
batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1
15.11.2012, 18:46 5
Если ещё надо отпишись, сделаю нормальный код.
0
DXIC
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 3
15.11.2012, 18:49  [ТС] 6
Цитата Сообщение от batmanrider Посмотреть сообщение
Если ещё надо отпишись, сделаю нормальный код.
Надо, можно еще подправить код в обеих вариантах чтобы выводились одинаковые числа в результате
0
batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1
17.11.2012, 00:55 7
Извиняюсь, что долго, просто был занят.
C++
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
#include <stdlib.h>
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int mas[500], i=1;
  switch(RadioGroup1->ItemIndex){
    case 0: {
      Memo1->Clear();
      for (i; i<=500; i++){
        mas[i]=rand() % 500 +1;
        if (mas[i]/10==0){
          Memo1->Lines->Add(IntToStr(mas[i]));
        }
      }
    }
    case 1: {
      Memo1->Clear();
      while(i<=500){
        mas[i] = rand() % 500 + 1;
        if (mas[i]/10 == 0){
          Memo1->Lines->Add(IntToStr(mas[i]));
        }
      }
    }
    case 2: {
      Memo1->Clear();
      do{
        mas[i]=rand() % 500 + 1;
        if (mas[i]/10 == 0){
          Memo1->Lines->Add(IntToStr(mas[i]));
        }
        i++;
      } while(i > 500);
    }
 
      }
}
1
nick42
Практикантроп
4338 / 2345 / 412
Регистрация: 23.09.2011
Сообщений: 4,996
17.11.2012, 01:17 8
Цитата Сообщение от batmanrider Посмотреть сообщение
if (mas[i]/10 == 0)
... - вы уверены?!
1
batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1
17.11.2012, 01:19 9
Цитата Сообщение от nick42 Посмотреть сообщение
... - вы уверены?!
/ - оператор mod
0
nick42
Практикантроп
4338 / 2345 / 412
Регистрация: 23.09.2011
Сообщений: 4,996
17.11.2012, 01:32 10
Цитата Сообщение от batmanrider Посмотреть сообщение
/ - оператор mod
...

Цитата Сообщение от DXIC Посмотреть сообщение
чтобы выводились одинаковые числа в результате
для этого вместо Randomize используйте srand(1) (единица - для примера).
0
batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1
17.11.2012, 01:52 11
ой, %.
0
17.11.2012, 01:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2012, 01:52

Перевод кода из Delphi на C++
Доброго вечера. Пожалуйста, помогите портировать код с Delphi на C++. Его не...

Перевод кода Delphi на C++Builder
procedure TForm1.Button1Click(Sender: TObject); var jpeg: TJPEGImage; bmp:...

Перевод кода из Delphi в C++ Builder
Кто нибудь сможет помочь перевести проект с делфи на билдер? unit Unit1; ...


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

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

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