СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть
Это сообщение показано отдельно, перейти в тему, где размещено сообщение: Олимпиадные задачи по физике
Старый 13.04.2015, 15:06   #44 (ссылка)
V.I.P.

Автор темы
 
Аватар для Rafa

Регистрация: 24.10.2009
Адрес: МОЙДОДЫР
Сообщений: 5,650
Поблагодарил: 388 раз(а)
Поблагодарили 577 раз(а)
Фотоальбомы: не добавлял
гадал-гадал и решил все свалить на ЭВМ.

она четко показала , что при к-ве звеньев > 10 результат будет

один и тот-же (экв. сопротивление цепи).

для этого существует даже разработанный класс.

___________________________________



#include <stdio.h>
#include <conio.h>

class Vodka

{

private:

int n;

float R;

float r;

float vobo(int n, float r1) const;

public:

Vodka() {}

~Vodka() {}

void bovo(int c, float rr);

int bofo() const {return n;}

float volo() const {return R;}
};

void Vodka :: bovo(int c, float rr)

{
n = c;

r=rr;

R = vobo(n,2*r);
}


float Vodka :: vobo(int n, float r1) const

{
if(n<=1) return r1;

else

{
r1=r+(r1*r/(r1+r));

n--;

return vobo(n,r1);
}
}




int main()

{
Vodka *Rus=new Vodka [5];

int i,n;

float r = 1;

for(i=0,n=1;i<5;i++,n+=3)

Rus[i].bovo(n,r);

for(i=0;i<5;i++)

printf("\n *** n = %d R = %f\n",Rus[i].bofo(),Rus[i].volo());

delete [] Rus;

getch();

return 0;
}

Rafa добавил 13.04.2015 в 15:04
ток в любом звене можна найти с помощью класса.




#include <stdio.h>
#include <conio.h>

class Vodka

{

private:

int n;

int N;

float R;

float r;


float vobo(int n, float r1) const;

void kio (float I, float U, int k) const;

public:

Vodka() {}

~Vodka() {}

void bovo(int c, float rr, int k, float u);

int bofo() const {return n;}

float volo() const {return R;}
};

void Vodka :: bovo(int c, float rr, int k, float u)

{
n = c;

N=k;

r=rr;

R = vobo(n,2*r);

kio (u/R,u,1);
}


float Vodka :: vobo(int n, float r1) const

{
if(n<=1) return r1;

else

{
r1=r+(r1*r/(r1+r));

n--;

return vobo(n,r1);
}
}

void Vodka :: kio (float I, float U, int k) const

{
U=U-(I*r);

printf("\n *** %d : %f\n",k,U/r);

if(k != N)

{
k++;

I = I - (U/r);

kio (I,U,k);
}
}

int main()

{
Vodka *Rus=new Vodka ;

int i,n=1000,k=100;

float r = 1, U = 1;



Rus->bovo(n,r,k,U);



printf("\n *** n = %d R = %f\n",Rus->bofo(),Rus->volo());

delete Rus;

getch();

return 0;
}

Rafa добавил 13.04.2015 в 15:04
отрицательные числа впечатляют.

но все ок. эвм тоже иногда тупит.

Rafa добавил 13.04.2015 в 15:06
Цитата:
Сообщение от АЛСНщик Посмотреть сообщение
но совершенно не по физике.
не шуми. это 8 класс

Последний раз редактировалось Rafa; 13.04.2015 в 15:06. Причина: Добавлено сообщение
Rafa вне форума   Цитировать 1
 Нажмите здесь, чтобы написать комментарий к этому сообщению  
 

Яндекс.Метрика