Перевод кодов из Pascal в C++

Тема в разделе "C/C++/C#", создана пользователем kerragin, 17 май 2011.

Статус темы:
Закрыта.
  1. kerragin

    kerragin Гость

    Люди,помогите пожалуйста перевести коды(могут быть ошибки) для данных задач из паскаля в С++

    Задача:

    Даны две дроби A/B и C/D (А, В, С, D — натуральные числа).
    Составить программу для умножения дроби на дробь. Результат
    должен быть несократимой дробью.

    Код :

    Код (Text):
    procedure (var a:integer;var b:integer;var del:integer);
    var
    ost:integer;
    begin
    repeat

    ost:=a mod b;
    a:=b;
    b:=ost;
    if b<>0 then del:=ost;

    until ost=0;
    end;
    Задача 2:Найти все натуральные л-значные числа, цифры в которых
    образуют строго возрастающую последовательность (например,
    1234, 5789).

    Код:

    Код (Text):
    program unique;

    const k=10; //константа определяет количество вводимых символов

    var
    a: array[1..k] of integer;
    i: integer;
    n: byte;

    procedure Check(arr: array of integer; num: byte); //нужная процедура
    var
    S: string;
    i: integer;
    c: byte;
    begin
    for i:= 1 to k do // С первого по последний элемент массива
    if length(inttostr(arr[i]))=n then // если длина числа равна заданной
    begin
    S:=inttostr(arr[i]); //переводим число в строку
    for c:=2 to num do // и со второго символа числа проверяем
    if S[c]<=S[c-1] then break //если предыдущий символ меньше либо равен
    //текущему, выходим из цикла
    else if c=num then write(S,' '); // иначе если текущий символ - последний
    //пишем число
    end;
    end;

    begin
    Writeln('Введите ',k,' чисел');
    for i:= 1 to k do Read(a[i]);
    writeln;
    Writeln('Введите количество символов в числе');
    Readln(n);
    Check(a,n);
    end;
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Первый кусок кода:
    Код (C++):
    void unnamed( int a, int b, int del )
    {
    int ost;
    do {
    ost = a % b;
    a = b;
    b = ost;
    if ( b != 0 ) del = ost;
    } while ( ost != 0 );
    }
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей