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

простенький код Паскаля на С++ , - C++

Восстановить пароль Регистрация
 
аандрей
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 8
02.06.2014, 00:15     простенький код Паскаля на С++ , #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
35
36
37
38
39
40
41
42
43
44
45
46
var i,j,task,n,k,index,gk:integer;
number:int64;
A : array[1..32,0..32] of int64;
Ans : array[1..32] of byte;
 
begin
 
for i:=1 to 32 do begin A[1,i]:=1;A[i,0]:=1;Ans[i]:=0;end;
for i:=2 to 32 do
for j:=1 to 32 do
A[i,j]:=A[i-1,j]+A[i,j-1];
 
read(task);
if task=0 then
begin
read(k,n,number);gk:=k;
index:=0;
 
while (k>0) and (n>0) do
begin
j:=0;
while A[k,j]<number do j:=j+1;
index:=index+1;Ans[index]:=n-j;
if j=0 then number:=0 else number:=number-A[k,j-1];
n:=j;k:=k-1;
end;
for i:=1 to gk do write(Ans[i],' ');
end else
if task=1 then
begin
read(k);gk:=k;
for i:=1 to k do read(Ans[i]);
 
number:=1;n:=Ans[k];j:=0;
k:=1;
for i:=gk-1 downto 1 do
begin
k:=k+1;
j:=n;
if j>0 then number:=number+A[k,j-1];
n:=Ans[i]+j;
end;
write(number);
end;
 
end.
Добавлено через 20 минут
тут,видимо, надо считать с клаввы символ, "чтото " с ним сделать...(может в ancii высветить?)..дайте функцию,посимвольно проверять строку в '\0' с конца .я запутался..
может так? char ansiTochar (char *pSt, int dlina_str=0){ // } const ..
пока думал-ушёл спать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 00:15     простенький код Паскаля на С++ ,
Посмотрите здесь:

Переписать код с Паскаля на С++ C++
переведите код с паскаля на с++ C++
C++ Перевести код паскаля в с++
C++ Перевести код с паскаля на C++
C++ Перевести код из Паскаля в С++
C++ Переведите код с Паскаля на Си
C++ Перевести код с Паскаля на С++
Переведите код с паскаля на си C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
02.06.2014, 00:37     простенький код Паскаля на С++ , #2
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
#include <iostream>
#include <cstdint>
 
int main() {
    const size_t sz = 32;
    size_t i,j, task,n,k,index,gk;
    int64_t number;
    int64_t A[sz][sz+1];
    uint8_t Ans[sz];
 
 
    for(i=0; i<sz; ++i) {
        A[1][i]=1;
        A[i][0]=1;
        Ans [i]=0;
    }
    for(i=0; i<sz; ++i) {
        for(j=1; j<=sz; ++j)
            A[i][j]=A[i-1][j]+A[i][j-1];
    }
     
    std::cin>>task;
    if(task==0) {
        std::cin>>k>>n>>number;
        gk=k;
        index=0;
         
        while((k>0) && (n>0)) {
            j=0;
            while(A[k][j]<number)
                ++j;
            index=index+1;Ans[index]=n-j;
            if(j==0)
                number=0;
            else
                number=number-A[k][j-1];
            n=j;
            --k;
        };
        for(i=0; i<gk; ++i)
            std::cout<<Ans[i]<<' ';
    }
    else
    if(task==1) {
        std::cin>>k;
        gk=k;
        for(i=0; i<k; ++i)
            std::cin>>Ans[i];
         
        number=1;n=Ans[k-1];j=0;
        k=1;
        for(i=gk-1; i>=0; --i)
        {
            k=k+1;
            j=n;
            if(j>0)
                number=number+A[k-1][j-1];
            n=Ans[i]+j;
        };
        std::cout<<number;
    };
}
могут быть ошибки
Yandex
Объявления
02.06.2014, 00:37     простенький код Паскаля на С++ ,
Ответ Создать тему
Опции темы

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