C++
От: oleksandr_kolesnyk Германия  
Дата: 18.12.06 12:13
Оценка:
Zdravstvyite vse!

Srazy hochy izvenitsja chto pishy latinskimi bykvami. Nachal ychit programmirovat na C++. est pary malenkih voprosov.
1. kak okryglit rezyltat delenija do zelogo chisla.


punkte_zahl = int(kreis_umfang / punkte_abstand)

punkte_zahl= 62,83 , dolzno bi bit okrygleno do 63 a ja polychau 62.


2. kak zdelat chtobi rezyltati v tablize (file.txt) bili krasivo raspolozeni v stolbiki nezavisimo ot dlini zifri.


ofstream Rohr(FileName.c_str(), ios::out);

for (int j=0; j<=zachse_punkte_zahl; ++j)
{
z=j*punkte_abstand;

for (int k=0; k<=punkte_zahl-1; ++k)
{
x=rohr_radius*cos(k*winkel*2*M_PI/360);
y=rohr_radius*sin(k*winkel*2*M_PI/360);

cout << " x = " << x << "\t";
cout << " y = " << y << "\t";
cout << " z = " << z << "\n";
Rohr << x << "\t" << y << "\t" << z << "\n" ;
}


vot chast rezyltata file.txt

-9.54139 2.99363 1
-9.7953 2.01299 1
-9.94869 1.01168 1
-10 1.22465e-15 1
-9.94869 -1.01168 1


Zaranee spasibo.
Re: C++
От: Анатолий Широков СССР  
Дата: 18.12.06 12:24
Оценка: 3 (1)
Здравствуйте, oleksandr_kolesnyk, Вы писали:

_> Zdravstvyite vse!


_>Srazy hochy izvenitsja chto pishy latinskimi bykvami. Nachal ychit programmirovat na C++. est pary malenkih voprosov.

_>1. kak okryglit rezyltat delenija do zelogo chisla.

... = int(kreis_umfang/double(punkte_abstand) + 0.5);



_>2. kak zdelat chtobi rezyltati v tablize (file.txt) bili krasivo raspolozeni v stolbiki nezavisimo ot dlini zifri.




char buffer[128];
ofstream Rohr(FileName.c_str(), ios::out);

for (int j=0; j<=zachse_punkte_zahl; ++j)
{
  z=j*punkte_abstand;

  for (int k=0; k<=punkte_zahl-1; ++k)
  {
      x=rohr_radius*cos(k*winkel*2*M_PI/360);
      y=rohr_radius*sin(k*winkel*2*M_PI/360);

      cout << " x = " << x << "\t";
      cout << " y = " << y << "\t";
      cout << " z = " << z << "\n";
      snprintf(buffer, sizeof buffer, "%12.4f %12.4f %12.4f", x, y, z);
      Rohr << buffer << "\n" ;
  }
}
Re[2]: C++
От: oleksandr_kolesnyk Германия  
Дата: 18.12.06 12:47
Оценка:
Здравствуйте, Анатолий Широков,

ogromnoe spasibo, ja chestno govorja daze ne ozidal chto tak bistro polychy otvet. Vi po moemy toze iz Ukraini, Lygansk. Ja iz Odessi, ychys v Germanii-rabotau laborantom, gde v prinzipe i pitautsja menja zastavit programmirovat, hotja ja etogo nikogda ne delal. Ne znau kak vas poblagodarit-vdryg mozet vam nyzna bydet kakaja-ta info po ychebe v germani ili po rabote zdes bydy rad pomoch chem mogy.

To chto ja zdes delau-eto tolko nachalo bolshogo proekta. Bydy rad esli vi mne pozvolite izredka obrachat'sja k vam s voprosami. Eche raz spasibo.

Sasha.
Re[3]: C++
От: Анатолий Широков СССР  
Дата: 18.12.06 12:56
Оценка: 3 (1)
_>To chto ja zdes delau-eto tolko nachalo bolshogo proekta. Bydy rad esli vi mne pozvolite izredka obrachat'sja k vam s voprosami. Eche raz spasibo.

Да обращайтесь, конечно. Здесь вам с радостью помогут.
Re[3]: C++
От: Аноним  
Дата: 18.12.06 13:12
Оценка:
А я вот могу посоветовать, как тексты писать не транслитом :

translit.ru

Re[2]: C++
От: SWW Россия  
Дата: 18.12.06 13:56
Оценка: +1
АШ>
АШ>... = int(kreis_umfang/double(punkte_abstand) + 0.5);
АШ>


А если отрицательное?

template <typename T>
T Round(double x) { return static_cast<T>(x + (x>0)? 0.5 : -0.5); }
...

punkte_zahl = Round<int>(kreis_umfang/punkte_abstand);
Re[3]: C++
От: Максим2006 Беларусь  
Дата: 18.12.06 14:34
Оценка:
Здравствуйте, SWW, Вы писали:

SWW>А если отрицательное?


SWW>
SWW>template <typename T>
SWW>T Round(double x) { return static_cast<T>(x + (x>0)? 0.5 : -0.5); }
SWW>...

SWW>punkte_zahl = Round<int>(kreis_umfang/punkte_abstand);
SWW>


Почти... вроде так

template <typename T>
T Round(double x) { return static_cast<T>(x + (x > 0 ? 0.5 : -0.5)); }
...
punkte_zahl = Round<int>((double)kreis_umfang/punkte_abstand);
Re[4]: C++
От: Аноним  
Дата: 19.12.06 05:38
Оценка:
М>Почти... вроде так

М>
М>punkte_zahl = Round<int>((double)kreis_umfang/punkte_abstand);
М>


Из исходного поста следует, что по меньшей мере одна из этих переменных double
Re[5]: C++
От: Максим2006 Беларусь  
Дата: 19.12.06 08:10
Оценка:
Здравствуйте, Аноним, Вы писали:

М>>Почти... вроде так


М>>
М>>punkte_zahl = Round<int>((double)kreis_umfang/punkte_abstand);
М>>


А>Из исходного поста следует, что по меньшей мере одна из этих переменных double

Что-то не пойму, из какого места исходного поста это следует?
Re[6]: C++
От: Аноним  
Дата: 19.12.06 11:49
Оценка: +1
А>>Из исходного поста следует, что по меньшей мере одна из этих переменных double
М>Что-то не пойму, из какого места исходного поста это следует?

Если он пишет, что в результате деления получилось 62,83 то это деление явно не целочисленное.
Re[7]: C++
От: Максим2006 Беларусь  
Дата: 19.12.06 12:18
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>>Из исходного поста следует, что по меньшей мере одна из этих переменных double

М>>Что-то не пойму, из какого места исходного поста это следует?

А>Если он пишет, что в результате деления получилось 62,83 то это деление явно не целочисленное.

как этот результат у него получился, сказать нельзя (может на калькуляторе посчитал и вписал ответ в пост), потому что по коду результат может быть только целым
punkte_zahl = int(kreis_umfang / punkte_abstand)

так почему "по меньшей мере одна из этих переменных double"?
Re[8]: C++
От: oleksandr_kolesnyk Германия  
Дата: 19.12.06 18:52
Оценка:
Здравствуйте, Максим2006, Вы писали:

М>Здравствуйте, Аноним, Вы писали:


А>>>>Из исходного поста следует, что по меньшей мере одна из этих переменных double

М>>>Что-то не пойму, из какого места исходного поста это следует?

А>>Если он пишет, что в результате деления получилось 62,83 то это деление явно не целочисленное.

М>как этот результат у него получился, сказать нельзя (может на калькуляторе посчитал и вписал ответ в пост), потому что по коду результат может быть только целым
punkte_zahl = int(kreis_umfang / punkte_abstand)

М>так почему "по меньшей мере одна из этих переменных double"?

62.83 eto dlina okryznosti( na nemezkom Umfang eines Kreises s radiysom v 10 mm v mm.

Punkte-abstand-rasstojanie mezdy dvymja tochkami, ono vsegda pochti po ysloviu kratno 1.

Izvenite chto ne natval variable po angliiski, dlja nemzev rabotau-vernee ychys.
Spasibo za mnogie podskazki.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.