Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

  • 0
CasinoR

Help Compilatore C

Domanda

[spoiler]
Compilatore: TDM-GCC 4.7.1 64-bit Release
Building Makefile "C:\Users\CasinoR\Documents\dev\Makefile.win"
Esecuzione di  make...
mingw32-make.exe -f "C:\Users\CasinoR\Documents\dev\Makefile.win" all
gcc.exe -c ../../Desktop/dec-bin.dev -o ../../Desktop/dec-bin.o -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" 

gcc.exe: warning: ../../Desktop/dec-bin.dev: linker input file unused because linking not done

gcc.exe ../../Desktop/dec-bin.o -o dec-bin.exe -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc

gcc.exe: error: ../../Desktop/dec-bin.o: No such file or directory

gcc.exe: fatal error: no input files
compilation terminated.
mingw32-make.exe: *** [dec-bin.exe] Error 1

Compilation failed after 0,28 seconds with errors
[/spoiler]
 
non riesco a capire dove sta l'errore ....
 
 
 
#include<stdio.h>
#include<stdlib.h>
int main ()

{ 

	int x=0
	printf(" inserisci qui il numero da trasformare da decimale a binario");
	scanf("%d",&x);
		printf(" \n");
	while(x!=0)
		
		if ((x%2)==0)
			
			{
			printf("0");
			}
		
		else
			 {
			 printf("1");
		     }	 
		
		x=x/2;
		
		
		}
		
		getchar();
return 0;
}

Mi  sono accorto che devo invertire i valori e vabbeh...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

8 risposte a questa domanda

Recommended Posts

Ho messo tutti in un'altra cartella e ha compilato... boh

Quando ho finito lo pubblico xD

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
DA BINARIO A DECIMALE

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main ()

{ 
    int i=0;
	int x=0;
 	int y=0;


	printf(" inserisci qui il numero da trasformare da decimale a binario    ");
	scanf("%d",&x);
		printf(" \n");
		
		y=x;




while (y>0)
		{
			y=y/2;
			
			printf(" TESTFOR Y: %d \n ",y);
			
			i++;
		}
		
		i=i-1;
	
printf("testfor i : %d \n",i);


     int c=i;
 	int v[i];
    int g=0;

	                                                       for(g=0; g<i ; g++) 
								{
									v[g]=0;
			  USELESS BITC*	  ----->			g++  DAFUK ARE U DONING?
								}





		while(x>0 & c>-1)
		
		{
		if ((x%2)==0)
			
			{
			v[c]=0;
				printf("testforvariabile %d \n", v[c]);
			c--;
			
			}
		
		else
			 {
				v[c]=1;
				printf("testforvariabile %d \n", v[c]);
			c--;
			
		     }	 
		
		x=x/2;
		
		}
		
	
int l=0;

for (l=0; l<=i; l++)
		{printf("%d", v[l]);
	
		}
	

	
		getchar();
	
		
	return 0;
}

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti


Ti prego, sistema l'indentazione T_T

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

 L'ho buttato in modo casuale  :rotfl: 

Tanto non lo devo presentare a nessuno ...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

L'ho buttato in modo casuale :rotfl:
Tanto non lo devo presentare a nessuno ...


Spesso si scrive meglio per se stessi, non per gli altri.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Spesso si scrive meglio per se stessi, non per gli altri.

:sese: Non hai mai visto come faccio gli esercizi di matematica 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
C'è un erroruccio.

x>0 & c>-1
& è l'operatore per l'AND binario, quello che dovresti usare è &&, l'AND logico.

Poi, consigli time.

Le dichiarazioni delle variabili dovrebbero sempre andare all'inizio della funzione.
Nel ciclo for dove (credo) imposti il valore degli elementi dell'array a zero ne salti uno ogni due visto che incrementi g due volte. Tra l'altro questo ciclo lo puoi comodamente eliminare, è inutile visto che tutti gli elementi verranno sicuramente sovrascitti.
La variabile c è inutile. Sai già che x arriverà a 0 con i iterazioni.
Ci sarebbe una funzione "div()" in stdlib.h che ritorna una struttura "div_t" contenente "quot" e "rem". Con questa rispiarmeresti una divisione. In oltre (anche se credo il compilatore la ottimizzi di suo) puoi usare (n&1==0) per controllare se è pari.

Ah, sì, sistema l'indentazione, sistema l'indentazione, sistema l'indentazione...

E si scrive #includeSPAZIO<file.h>


EDIT: il compilatore dovrebbe ottimizzare anche il fatto della divisione e resto ma solo se le scrivi in successione.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Mi ha massacrato  :facepalm:

 

*Molte cose le ho fatte per esercizio. Ad esempio in un'altro esercizio ho inizializzato il vettore con valori casuali da x a y senza motivo...

 

*Se non uso funzioni complesse è molto meglio per l'esame che devo dare  :sisi:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.