Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    Problema: Stack around the variable 'mioarray' was corrupted!

    Salve ragazzi ho questo problema...
    Quando eseguo questo programma:

    {
    int a, i;

    cout << "Inserisci il numero che dovrebbe essere presente nell'array:\n";
    cin >> a;

    int mioarray[3];
    mioarray[0] = 32;
    mioarray[1] = 10;
    mioarray[2] = 7;
    mioarray[3] = 8;

    for ( i = 0; i <= 3; i++ ) {

    if (mioarray[i] == a) {

    cout << "Il valore " << a << " e' presente nell'array, precisamente nell'indice: mioarray[" << i << "]";

    break;

    } else {

    cout << "Spiacente il numero che hai inserito non e' presente nell'array";

    break;

    }

    }

    return 0;
    }

    Mi da un errore del tipo:

    STACK AROUND THE VARIABLE 'MIOARRAY' WAS CORRUPTED!

    Come posso risolvere? Grazie anticipatamente!
    Con i sogni possiamo conoscere il futuro...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Gli elementi sono 4 ...

    int mioarray[4];
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    E' stranissimo, perchè se inserisco 32 che sarebbe mioarray[0]... mi funziona correttamente cioè mi trova il numero nell'array, se insierisco gli altri non funziona mi da sempre "Spiacente...".
    come mai?
    Con i sogni possiamo conoscere il futuro...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se usassi i tag CODE per mostrare il codice in modo da renderlo leggibile, sarebbe meglio ...

    Hai scritto

    codice:
    for ( i = 0; i <= 3; i++ ) 
    {
      if (mioarray[i] == a) 
      {
        cout << "Il valore " << a << " e' presente nell'array, precisamente nell'indice: mioarray[" << i << "]";
        break;
      } 
      else 
      {
        cout << "Spiacente il numero che hai inserito non e' presente nell'array";
        break;
      }
    }
    Scritto in questo modo, non funzionera' mai come vuoi, perche', se il numero non e' nell'array, lo puoi sapere solo dopo la fine della for e non al suo interno ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Ho risolto! Grazie mille, un'ultima cosa vedi nel for io ho inserito i<3... non potrei mettere i<coutnomearray... magari una funzione che mi permette di sapere quanti valori contiene la mia array...?
    Con i sogni possiamo conoscere il futuro...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il numero di elementi e' dichiarato con una costante ... quindi

    #define MAXARRAY 4

    ...

    int mioarray[MAXARRAY];

    ...

    for ( i = 0; i < MAXARRAY; i++ ) {
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.