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

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

Войти
Регистрация
Восстановить пароль
 
alexbec-2011
22 / 22 / 3
Регистрация: 01.12.2011
Сообщений: 159
#1

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

11.01.2013, 08:12. Просмотров 441. Ответов 2
Метки нет (Все метки)

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     Перекодировать из Паскаля в с++
Посмотрите здесь:

Перекодировать из UCS-2 Little Endian в UTF - C++
Есть много файлов *.txt в кодировке (как я понял) UCS-2 Little Endian. Как перевести эти файлы в кодировку UTF или ANSI? Пока что делаю это...

Как перекодировать для Visual C++? - C++
Написать программу, которая считывает английский текст из файла и выводит его на экран, заменив каждую первую букву слов, начинающихся с...

Перекодировать текст с UTF-8 в ASCII - C++
Даже не знаю с чего начать Задача такова: Есть файл в формате UTF8. Нужно его перекодировать в ASCII и сохранить.

С паскаля на с++ - C++
Приветствую всех! Я запустил с++ и мне на зачет нужна вроде простая программа, знаю ее на паскале: var f,g:file of...

С паскаля на С++ - C++
Всем добрый вечер!! Вот сама задача.....Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие выше побочной диагонали....

Из Паскаля на СИ - C++
const c = 9; var a, b, x, y: real; begin write('Введите x: '); readln(x); b := x + c * c; a := exp(ln(abs(92))...

из паскаля в C++ - C++
3)Даны два действитьельных числа. Заменить первое число нулем, если оно меньше или равно второму и оставить числа без изменения в противном...

С Паскаля на С++ - C++
Кто способен переделать программу, написанную на Паскале, на С++?

Из паскаля в С++ - C++
Program lab5; Var a:array of integer; n,I,min,k:integer; P:longint; s:real; Begin Writeln('введите размерность массива'); ...

Из паскаля в С++ - C++
Начал С++ недавно изучать. Школе писал на паскале. Вот исходник никак немогу перевести на С++. Через for &amp; while по провал не получается....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dalay_lama
70 / 70 / 10
Регистрация: 22.09.2012
Сообщений: 453
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
22 / 22 / 3
Регистрация: 01.12.2011
Сообщений: 159
11.01.2013, 12:33  [ТС]     Перекодировать из Паскаля в с++ #3
Спасибо да Паскаль не важен регистр)
Ответ Создать тему
Опции темы

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