Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [C++] problema stupidissimo: inizializzare una variabile... aiuto vi supplico.

    raga mi dice che sto usando la variabile n senza averla inizializzata, ma come è possibile?? voglio far comparire un quadrato di asterischi di dimensione n*n..

    codice:
    #include <iostream>
    
    using namespace std;
    
    
    int main (){
    	int n;
    	cout<<"inserisci un numero n e visualizzerò un quadrato di asterischi di lato n"<<endl;
    	cin>>n;
    	for (int i=1; i<=n*n; i++)
    	{
    		
    		if (i%n!=0)
    		cout<<"*";
    		else cout<<endl;
    	}
    		
    
        
    	system("pause");
        return 0;
    }
    anticiclone termico russo-siberiano vogliamo te

  2. #2
    A me funziona.. che compilatore usi?

  3. #3
    visual c++! aspetta ma forse è perchè ho dei progetti in sospeso? ora controllo
    anticiclone termico russo-siberiano vogliamo te

  4. #4
    Il compilatore ti da il warning poiché non può sapere se userai la variabile prima di averla inizializzata.


    anziché int n; scrivi int n = 0;

    Inoltre, per disegnare un quadrato, dovrai sicuramente andare a capo con \n
    EDIT: Ho visto che usi endl, come non detto

    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

  5. #5
    ho riavviato e ora mi va
    ora che ci penso mi era già successo... dopo un pò che faccio programmi, li cancello, ne faccio altri ecc mi da sto ciocco! vabbè, cmq non mi appare un quadrato ma un rettangolo! ma adesso ci lavoro un attimo e risolvo

    grazie mille! ciao ciao
    anticiclone termico russo-siberiano vogliamo te

  6. #6
    Originariamente inviato da Emulator ®
    Il compilatore ti da il warning poiché non può sapere se userai la variabile prima di averla inizializzata.


    anziché int n; scrivi int n = 0;

    Inoltre, per disegnare un quadrato, dovrai sicuramente andare a capo con \n
    EDIT: Ho visto che usi endl, come non detto

    si però avevo messo prima del while cin<< n, non vale come inizializzazione?

    cmq avevo provato anche a metter un valore a caso per n ma non mi andava lo stesso...
    anticiclone termico russo-siberiano vogliamo te

  7. #7
    Si ma se la cin fallisce come sai se n verrà usata con un valore valido?

    Il compilatore non esegue il codice, non guarda la semantica, non sa che quel costrutto inizializza la variabile e quindi va inizializzata "a mano".
    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

  8. #8
    ok raga ce l'ho fatta, veniva un rettangolo perchè avevo messo di andare a capo quando il resto era diverso da 0 mentre ci andava ancora un asterisco

    codice:
    #include <iostream>
    
    using namespace std;
    
    
    int main (){
    	int n;
    	cout<<"inserisci un numero n e visualizzerò un quadrato di asterischi di lato n"<<endl;
    	cin>>n;
    	for (int i=1; i<=n*n; i++)
    	{
    		
    		if (i%n!=0)
    		cout<<"*";
    		else if (i%n==0)
    			cout<<"*"<<endl;
    			
    		else
    			cout<<endl;
    	}
    		
    
        
    	system("pause");
        return 0;
    }
    anticiclone termico russo-siberiano vogliamo te

  9. #9
    avresti anche semplicemente potuto sfruttare 2 variabili di appoggio invece della sola i
    tipo mettendo 2 for. penso verrebbe molto più semplice che fare come hai fatto tu xD

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.