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

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

Войти
Регистрация
Восстановить пароль
 
NeRRouZ
4 / 4 / 0
Регистрация: 19.12.2010
Сообщений: 54
#1

Как будет выглядеть на C++ часть кода, написанного на Pascal? - C++

14.10.2012, 11:49. Просмотров 448. Ответов 7
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
type
  station = record
      ns:byte;
      time:longint;
  end;
  train = record
        n:byte;
        st:array[1..maxn]of station;
        end;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2012, 11:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как будет выглядеть на C++ часть кода, написанного на Pascal? (C++):

Как будет выглядеть блок-схема шейкер сортировки для данного кода? - C++
код: #include <iostream> using namespace std; //функция обмена void Swap(int *Mas, int i) { int temp; temp=Mas; Mas=Mas; ...

как будет выглядеть в Visual C++ - C++
void __fastcall TForm1::Memo1DblClick(TObject *Sender) { OpenDialog1->Execute(); //Загружаем данные их файла ...

Как это будет выглядеть в С++ - C++
Вот программа на Паскале VAR S:STRING; BEGIN WHILE NOT EOF DO BEGIN READLN(S); WRITELN(S) ...

как это будет выглядеть на С++? - C++
var x,p:real; i:byte; begin writeln('Vvedite x'); readln(x); p:=1;; i:=2; while i<=64 do begin ...

как будет выглядеть программа? - C++
Найти все простые числа не превосходящие число NПравила форума п. 5.5: Запрещено размещать тему в нескольких разделах одновременно...

Подскажите, как формула будет выглядеть на С++ - C++
Как эта формула будет выглядеть на С++?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
14.10.2012, 11:54 #2
C++
1
2
3
4
5
6
7
8
9
10
11
struct station {
    int ns;
    long time;
};
 
const int maxn = 10;
struct train
{
    int n;
    station arr[maxn];
};
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
14.10.2012, 12:51 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
struct station {
    unsigned char ns;
    long time;
};
 
...
 
struct train
{
    unsigned char n;
    station arr[maxn];
};
gdoom
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 23
17.10.2012, 08:32 #4
Спасибо - то же был такой же вопрос, можно ещё вопрос, а как сделать операцию как в паскале:

Код
  var S:string;
       t:byte;
       S1:string; 
begin
       S:= Edit1.Text;
       t:=length(S);
       Memo1.Lines.Add("Stroka: "+S);
       Memo1.Lines.Add("Sumbolov: "+FloatToStr(t));
       S1:=Copy(S1,3,2);
end;
- пример простой, просто трудновато переходить на С++ после того как пять лет только в паскале подобной среде отработал.....

Добавлено через 1 час 20 минут
Кажись разобрался, нашёл функцию в string.h
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
[CODE]
String S;
    S = "2012.05.25,14:40,1.2572,1.2573,1.2572,1.2572,3";
char *S_;
    S_ = S.t_str();
    int Len;
    Len = S.Length();
    int zap = 0;
    char cim={','};
    int pol[7];
    for(int i=0;i<=Len;i++){
         if(S_[i]==cim){
                    zap++;
                    pol[zap] = i;
                       }
                           }
//S = "2012.05.25,14:40,1.2572,1.2573,1.2572,1.2572,3"; ????????????
 
   String S1;
   S1 = S.SubString(0,pol[1]);
  
   String S2;
   S2 = S.SubString(pol[1]+2,pol[2]-pol[1]-1);
 
[/CODE]
у меня есть строка, которую я получать буду из файла, и разбивать её на значения .... их после отправлять в массив...... но есть ли вариант упростить код? не переводя в начале строку Strin - > Char после искать положения запятых.... и после выдёргивать кусками, т.к думаю по производительности этот кусок будет очень много времени отбирать т.к содержится цикл.... Так же нужно сказать что строка бывает разной длинны и положение разделительной запятой меняется, и она сама может быть другим символом..... А так же, таких строк последовательно обрабатывать требуется примерно 2.5 миллиона - отсюда и пытаюсь найти вариант упрощения.....

Ещё можно вопрос, в середине есть строка под коментариями где знаки вопроса, приходится вставлять строку заново т.к после работы с ней(определения положения запятых ) - при копировании в переменные S1,S2....Sn - помещается чушь.... в чём может быть причина?
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
17.10.2012, 11:37 #5
вы какой String взяли? в борланде работаете?
в с++ есть только класс string из стандартной библиотеки
gdoom
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 23
17.10.2012, 12:23 #6
Цитата Сообщение от panicwassano Посмотреть сообщение
вы какой String взяли? в борланде работаете?
в с++ есть только класс string из стандартной библиотеки
агась под ним, я просто понять не могу - почему к примеру если я создаю переменную для хранения текста - в pascal просто завожу X:String;
- и просто кидаю туда к примеру:
X: = Edit1.Text;

- но в C++ как я понял не может провернуть такую же штуку, хотя данные из Edit1->Text можно вполне перекинуть, т.к char по сути хранит в каждом бите номер символа, и при пересылке нужно создать моссив к примеру char X[20]; - скажем теперь это строка из 20 свободных элементов.... Я ограничел её, но теперь когда пытаюсь сделать такой трюк:
X = Edit1->Text; - меня посылает на несовместимость типов, хотя в теории это же уже строка - хотя компилятор конечно не втупляет этого - вот и приходятся создавать промежуточную переменную, тем более что в дальнейшем в неё будет скидываться данные из читаемого файла.....

Я могу конечно ошибаться - но пока что плохо понимаю принцип работы Си, такое чувство после delphi что раньше ездил на бентли и пересел на копейку, честно говоря........
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
17.10.2012, 16:30 #7
не используйте массивы типа char для строк, используйте их класс-обертку из STL
C++
1
2
#include<string>
std::string
gdoom
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 23
22.10.2012, 13:44 #8
Спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2012, 13:44
Привет! Вот еще темы с ответами:

Как полностью будет выглядеть программный - C++
Даны две квадратные матрицы А и В порядка n и m соответственно. Вывести на экран положительные элементы побочной диагонали каждой матрицы.

Как этот код будет выглядеть на C++ - C++
For i:=0 to FieldsCount-1 do Fields.Clear; Как этот код будет выглядеть на C++

Как это будет выглядеть на С++? (пасскаль) - C++
uses crt; function F(x:real):real; begin F:=(x*x+1)*sqr(cos(x)); end; var a,h,s:real; n,i:integer; begin clrscr; ...

Как будет выглядеть блок-схема(алгоритм)? - C++
хотелось бы получить любую помощь:help::help::help: #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.10.2012, 13:44
Ответ Создать тему
Опции темы

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