Non ho letto tutta la discussione precedente ma penso che qui il problema sia semplicemente questo:
codice:... for(i=0;i<n;i++) { printf("valore algebra: "); scanf("%c",&(algebra[i].s[i]));
Non ho letto tutta la discussione precedente ma penso che qui il problema sia semplicemente questo:
codice:... for(i=0;i<n;i++) { printf("valore algebra: "); scanf("%c",&(algebra[i].s[i]));
purtroppo nemmeno mettendo
scanf("%c",&(algebra[i].s));
funziona ...
non so perchè mi scrive valore algebra e però non mi fa scrivere niente .
facendo il debug ho visto che salta la scanf e e dopo essere entrato nel ciclo for
for(k=0;k<bit;k++)
{
struttura.bin[bit-1-k]=n%2;
n=n/2;
}
esce dal ciclo in cui era anche se non dovrebbe perchè la condizione è ancora verificata
for
for(i=0;i<n;i++)
{
printf("valore algebra: ");
scanf("%c",algebra[i].s[i]);
for(k=0;k<bit;k++)
{
algebra[i].bin[bit-1-k]=n%2;
n=n/2;
}
e va all'istruzione successiva..
Non ho idea del motivo però ..se qualcuno può darmi una mano ne sarei grato
Okay ... ieri era tardi ... mosta il codice attuale, completo delle modifiche e usa i tag CODE e /CODE ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
*/il file codice.h ha solo la definizione della funzione bite()... mi servirà piu avanti per altre funzioni---*/
lo compila senza errori ma dopo la prinf("valore algebra "); non funzia la scanf e poi esce dal ciclo for ...
metterei le tag code ma scusa l'ignoranza ma non so come fare
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "codice.h"
#define DIM 100
int bite(int n);
struct struttura {
int bin[DIM];
char s[DIM];
};
struct struttura algebra[DIM];
main()
{
int i,bit,k,n;
printf("Inserire il numero di valori dell'algebra : \n");
scanf("%d",&n);
bit=bite(n);
for(i=0;i<n;i++)
{
printf("valore algebra: ");
scanf("%c",&(algebra[i].s));
for(k=0;k<bit;k++)
{
algebra[i].bin[bit-1-k]=n%2;
n=n/2;
}
}
for(i=0;i<n;i++)
{
printf("%c",algebra[i].s);
printf("%d",algebra[i].bin[i]);
}
}
int bite(int n)
{
int k,i;
k=1;
for(i=1;k<n;i++)
{
k=k*2;
}
i=i-1;
return i;
}
Usa i tag CODE e indenta il codice, altrimenti si fa troppa fatica a seguire il codice ...
Devi usare il tasto
#
del forum per inserire i tag ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
#
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "codice.h"
#define DIM 100
int bite(int n);
struct struttura {
int bin[DIM];
char s[DIM];
};
struct struttura algebra[DIM];
main()
{
int i,bit,k,n;
printf("Inserire il numero di valori dell'algebra : \n");
scanf("%d",&n);
bit=bite(n);
for(i=0;i<n;i++)
{
printf("valore algebra: ");
scanf("%c",&(algebra[i].s));
for(k=0;k<bit;k++)
{
algebra[i].bin[bit-1-k]=n%2;
n=n/2;
}
}
for(i=0;i<n;i++)
{
printf("%c",algebra[i].s);
printf("%d",algebra[i].bin[i]);
}
}
#
ok dovrebbe essere cosi..prima avevo sbagliato ..sorry
codice:# #include <math.h> #include <stdio.h> #include <string.h> #include "codice.h" #define DIM 100 int bite(int n); struct struttura { int bin[DIM]; char s[DIM]; }; struct struttura algebra[DIM]; main() { int i,bit,k,n; printf("Inserire il numero di valori dell'algebra : \n"); scanf("%d",&n); bit=bite(n); for(i=0;i<n;i++) { printf("valore algebra: "); scanf("%c",&(algebra[i].s)); for(k=0;k<bit;k++) { algebra[i].bin[bit-1-k]=n%2; n=n/2; } } for(i=0;i<n;i++) { printf("%c",algebra[i].s); printf("%d",algebra[i].bin[i]); } }
cmq è questo ciclo for che non funziona..la scanf ..ma non so perchè...HELP
codice:for(i=0;i<n;i++) { printf("valore algebra: "); scanf("%c",&(algebra[i].s)); for(k=0;k<bit;k++) { algebra[i].bin[bit-1-k]=n%2; n=n/2; } }