ragazzi questo pogramma deve calcolare la rsistenza equivalente tra + resistenze sia in paraallelo che in serie..funziona abbastanza bene..soltanto quando il ciruito comincia ad essere un pò complicato nn calcola bene..ad esempio con 3 paralleli,o 3 paralleli e 1 serie grazie a tutti
#include <stdio.h>
#include<string.h>
main()
{
int menu,i,ind=0,res[20],ind1=0,ind2,j,ind3=0,ind4=0,v;
char matrice[30][30],nodi[200];
do
{
do
{
printf("Immettere i 2 nodi (tutti attaccati)");
ind2=0;
for(i=0;i<2;i++)
{
scanf(" %c",&nodi[ind]);
matrice[ind1][ind2]=nodi[ind];
ind++;
ind2++;
}
printf("Immetti la resistenza tra i 2 nodi");
scanf("%d",&res[ind1]);
matrice[ind1][3]=res[ind1];
ind1++;
printf("Digita 1 se vuoi immettere altri nodi,qualsiasi alro tasto per uscire");
scanf(" %d",&menu);
}
while(menu==1);
v=ind1;
printf("\nMatrice iniziale =\n\n");
for(i=0;i<ind1;i++)
{
j=0;
for(j;j<2;j++)
{
printf("%c",matrice[i][j]);
}
printf(" %d ohm\n",matrice[i][3]);
}
ind2=2;
ind=0;
do
{
if((nodi[ind]==nodi[ind2])&&(nodi[ind+1]==nodi[ind2+1]))
{
res[ind3]=(res[ind3]*res[ind3+1])/(res[ind3]+res[ind3+1]);
ind4++;
matrice[0][3]=res[ind3];
}
ind2=ind2+2;
ind=ind+2;
ind3++;
}
while(ind3<ind1);
ind2=2;
ind=0;
ind3=0;
do
{
if((nodi[ind]!=nodi[ind2+1])&&(nodi[ind+1]==nodi[ind2]))
{
res[ind3]=res[0]+res[ind3+1];
matrice[0][3]=res[ind3];
}
ind2=ind2+2;
ind=ind+2;
ind3++;
}
while(ind3<ind1);
printf("\nMatrice finale = \n\n");
for(i=0;i<v;i++)
{
j=0;
for(j;j<2;j++)
{
printf("%c",matrice[i][j]);
}
printf("-");
}
printf(" %d ohm\n",matrice[0][3]);
printf("Immetti 1 per eseguire il programma di nuovo,un'altro tasto per uscire");
scanf("%d",&menu);
}
while(menu==1);
}