Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевод кода паскаль на c++ 
:(
    Опции темы
a1exnet
Дата 19.1.2014, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.1.2014

Репутация: нет
Всего: нет



Ребятки, помогите перевести данный код на паскале в С++

Код

function st(x,e1,n:integer):integer;
var i,k1:integer;
begin
k1:=x;
   for i:=2 to e1 do
      begin
         k1:=k1*x;
         k1:=k1 mod n;
      end;
   result:=k1;
end;

var x,y,g,p,k1,k2,a,b:integer;

begin
  writeln('Введите g_p:');
  readln(g,p);
  writeln('Введите a_b');
  readln(a,b);
  x:=st(g,a,p);
  y:=st(g,b,p);
  
  k1:=st(y,a,p);
  k2:=st(x,b,p);
  
  if k1=k2 then write('Yes :-)') else write('No :(');
end.

PM MAIL   Вверх
Фантом
Дата 19.1.2014, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 7
Всего: 49



Совсем "подстрочный" перевод выглядит так:
Код

#include<iostream>
using namespace std;

int st(int x,int e1, int n)
{
  int i,k1;
  k1=x;
  for(i=2;i<=e1;++i)
  {
    k1=k1*x;
    k1=k1%n;
  }
  return k1;
}

int main()
{
  int x,y,g,p,k1,k2,a,b;
  cout << "Введите g_p:" << endl;
  cin >> g >> p;
  cout << "Введите a_b" << endl;
  cin >> a >> b;
  x=st(g,a,p);
  y=st(g,b,p);
  
  k1=st(y,a,p);
  k2=st(x,b,p);
  
  if(k1==k2) cout << "Yes :-)" << endl;
  else cout << "No :(" << endl;
}


Добавлено через 6 минут и 28 секунд
Менее подстрочный (поскольку и исходная программа на Паскале сильно избыточна):
Код

#include<iostream>
using namespace std;

int st(int x,int e1, int n)
{
  int k1=x;
  for(int i=1;i<e1;++i) k1=(k1*x)%n;
  return k1;
}

int main()
{
  int g,p,a,b;
  cout << "Введите g_p:" << endl;
  cin >> g >> p;
  cout << "Введите a_b" << endl;
  cin >> a >> b;
  cout << (st(st(g,b,p),a,p)==st(st(g,a,p),b,p) ? "Yes :-)" : "No :(") << endl;
}

PM   Вверх
a1exnet
Дата 19.1.2014, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.1.2014

Репутация: нет
Всего: нет



Фантом, спасибо большое!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.