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

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

Восстановить пароль Регистрация
 
alexbec-2011
 Аватар для alexbec-2011
22 / 22 / 3
Регистрация: 01.12.2011
Сообщений: 159
11.01.2013, 08:12     Перекодировать из Паскаля в с++ #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
Var a           : Array [1..100] Of LongInt; // массив для хранения двоичной записи
    k           : Array [1..100,1..2] Of LongInt; // двухмерный массив, первый элемент число, второй элемент количество единиц
    N,i,j,p,kol : longint;
 
Begin
readln(N);
For i:=1 To n Do read(k[i,1]);
For i:=1 To n Do
  Begin             
    j:=0;
    p:=k[i,1];
    While p <> 0 Do    
      Begin
        inc(j);
        a[j]:=p Mod 2;
        p:=p Div 2;
      End;
    p:=j;
    kol:=0;
    For j:=1 To p Do If a[j] = 1 Then inc(kol); 
    k[i,2]:=kol;
  end;
For i:=1 To N Do                   
  For j:=1 To N-1 Do             
    If k[j,2] < k[j+1,2] Then
      Begin
        p:=k[j,2]; k[j,2]:=k[j+1,2]; k[j+1,2]:=p;
        p:=k[j,1]; k[j,1]:=k[j+1,1]; k[j+1,1]:=p;
      End;
writeln('Ответ: ');
For i:=N DownTo 1 Do write(k[i,1],' ');
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2013, 08:12     Перекодировать из Паскаля в с++
Посмотрите здесь:

с паскаля на Си++ C++
C++ с паскаля на с++
Как перекодировать для Visual C++? C++
C++ С Паскаля на С++
С Паскаля на С++ C++
C++ Перекодировать из UCS-2 Little Endian в UTF
C++ Перекодировать строку из кодировки KOI в кодировку Windows-1251 и обратно
C++ Перекодировать текст с UTF-8 в ASCII

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 434
11.01.2013, 09:36     Перекодировать из Паскаля в с++ #2
Проверяй, так должно работать?

И ещё, вот здесь у тебя ошибка, либо я чего то не понял:
Pascal
1
2
For i:=1 To n Do read(k[i,1]);
For i:=1 To n Do
здесь наверное имелось введу не "n", а "N"? Или паскаль не чувствителен к регистру? я уже не помню если честно

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
#include <iostream>
using namespace std;
 
int main()
{
    long int a[100];// массив для хранения двоичной записи
    long int k[100][2];// двухмерный массив, первый элемент число, второй элемент количество единиц
    long int N,i,j,p,kol;
    
    cin >>N;
    for (i=0;i<N;i++)
        cin >>k[i][1];
    for (i=0;i<N;i++)
    {
        j=0;
        p=k[i][1];
        while (p != 0)
        {
            j++;
            a[j] = p%2;
            p = p/2;
        };
        p=j;
        kol=0;
        for (j=0;j<p;j++)
            if (a[j] == 1)
                kol++;
        k[i][2]=kol;
    };
    for (i=0;i<N;i++)
        for (j=0;j<N-1;j++)
            if (k[j][2] < k[j+1][2])
            {
                p=k[j][2]; k[j][2]=k[j+1][2]; k[j+1][2]=p;
                p=k[j][1]; k[j][1]=k[j+1][1]; k[j+1][1]=p;
            };
    cout <<"Answer: ";
    for(i=N;i>0;i--)
        cout <<k[i][1] <<" ";
}
alexbec-2011
 Аватар для alexbec-2011
22 / 22 / 3
Регистрация: 01.12.2011
Сообщений: 159
11.01.2013, 12:33  [ТС]     Перекодировать из Паскаля в с++ #3
Спасибо да Паскаль не важен регистр)
Yandex
Объявления
11.01.2013, 12:33     Перекодировать из Паскаля в с++
Ответ Создать тему
Опции темы

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