Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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



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

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

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

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

//---------------------------------------------------------------------------

#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
Адрес: DuckBurg
Сообщений: 18,597
Репутация: 3901
По умолчанию

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

Stilet

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

Utkin

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



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ruby, Ruby on Rails разработчик, Спб Ludmila.K Работа на постоянной основе 0 14.07.2009 12:29
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




19:20.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
таргетированный трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru