Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 20.07.2009, 13:03   #1
Invis999
Новичок
Джуниор
 
Регистрация: 19.07.2009
Сообщений: 2
По умолчанию из Ruby в Си++

Парни нужна помощь:
нужно программу написанную на Ruby переписать на Си++. Может кто поможет или скажет как?)
программа:
http://www.imageup.ru/img36/untitled163984.jpg
Invis999 вне форума Ответить с цитированием
Старый 20.07.2009, 13:12   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,305
По умолчанию

Собственно код весьма прост и если Вы умеете пользоваться С++, то проблем возникнуть не должно. Единственное, что может вызвать затруднения: n=gets.to_i - В руби все объекты и классы (операторы в какой-то мере тоже). Здесь результат чтения с клавиатуры приводится к целому и заносится в переменную.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 20.07.2009, 13:20   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Вот что у меня получилось:
Код:
//---------------------------------------------------------------------------

#pragma hdrstop

#include <tchar.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
//---------------------------------------------------------------------------

#pragma argsused
double f(double x){
 return x*x*sqrt(sin(x));
}
int main(int argc, _TCHAR* argv[])
{
 int i,n=0,h=5,a=0,k=0;
 double y,x,b=3.1415926,s=(b-a)*h;
 printf("Введи");
 scanf("%d",&n);
 for (i = 1; i <=n; i++) {
  x=a+(b-a)*rand();
  y=h*rand();
  if (f(x)>=y) {k++;};
 }
 printf("%f \n",s*k/n);
	return 0;
}
//---------------------------------------------------------------------------
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.07.2009, 13:22   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,305
По умолчанию

И еще: в руби в ряде случаев результат может отличаться (в знаках после запятой), но это так мелочи. Просто не удивляйтесь, если не совпадет до циферки.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 20.07.2009, 20:20   #5
Invis999
Новичок
Джуниор
 
Регистрация: 19.07.2009
Сообщений: 2
По умолчанию

Stilet

Огромнейшее тебе спасибо), ты оказал неоценимую помощь)

Utkin

Цитата:
n=gets.to_i
- да, вот это было не понятно)
Invis999 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ruby on Rails Etlau Ruby 2 27.05.2009 17:23
Ruby -> Делфи Misho0k PHP 0 11.01.2009 22:54
библиотека TK и Ruby kpp2 Ruby 5 22.12.2007 03:02


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS