гадал-гадал и решил все свалить на ЭВМ.
она четко показала , что при к-ве звеньев > 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 класс