DOMANDA Dubbio risoluzione con array con C++

  • Autore discussione Autore discussione MPG
  • Data d'inizio Data d'inizio
Pubblicità
No guarda appena si è aperta la videata ho scritto in sequenza, prova anche tu vedrai..
 
Ultima modifica:
Confermo funziona pure a me senza aver dovuto fare tutte quelle modifiche.
Ripeto, exit() va se includi <cstdlib>, il codice è corretto.

Per risolvere tutta sta storia dei define e delle costanti, allocca dopo che hai inizializzato dim memoria all’array in questo modo:
int array = new int[dim];

E altra cosina se usi getch() includi <stdio.h> come <cstdio>. L’inclusione di <nomefile.h> è obsoleta.
 
Confermo funziona pure a me senza aver dovuto fare tutte quelle modifiche.
Ripeto, exit() va se includi , il codice è corretto.

Per risolvere tutta sta storia dei define e delle costanti, allocca dopo che hai inizializzato dim memoria all’array in questo modo:
int array = new int[dim];

Non penso abbia già fatto i puntatori


Inviato da iPhone tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 
si scusa avevo cancellato mi ero accorto della stupidata mia...
Chiedo pero' altra cosa.. DEFINE DIM non l'ho mai fatta a scuola è quello il problema, come faccio a presentare un codice con parti mai fatte ??
 
Ultima modifica:
si scusa avevo cancellato mi ero accorto della stupidata mia...
Chiedo pero' altra cosa.. DEFINE DIM non l'ho mai fatta a scuola è quello il problema, come faccio a presentare un codice con parti mai fatte ??

Define dim definisce una costante ovvero una “variabile” il cui valore resta fisso per la durata di tutto il programma.
O fai la define o fai la new come ti hanno detto prima ... non esistono altri modi che io sappia ...
Ma scusa tu vai a scuola e ti hanno fatto iniziare con il c++? Senza basi di c o almeno intruduzione alla differenza tra variabili e costanti e le cose basilari?


Inviato da iPhone tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 
si scusa avevo cancellato mi ero accorto della stupidata mia...
Chiedo pero' altra cosa.. DEFINE DIM non l'ho mai fatta a scuola è quello il problema, come faccio a presentare un codice con parti mai fatte ??
Define è una direttiva al preprocessore. Ogni direttiva è preceduta da #.
Permette di dichiarare costanti.

Altro modo è il tipo const int dim = 255, ma solo in C++.

Se porti a scuola un listato con una cosa in più non muore nessuno. Soprattutto se impedisce errori fatali...
 
Infatti bello conoscere cose nuove ci mancherebbe.. Forse pero' poichè facciamo solo C++ dovrei metter tipo const int dim = 255 come dici...
Per rispondere a Fabifont ti dico che abbiamo iniziato con il c++ in seconda quest'anno, non avevamo prima studiato il c....
 
Scusate ma se faccio cosi' senza stabilire la dim va tutto bene uguale mi pare..

Codice:
#include <iostream>
#include <stdio.h>

using namespace std;
int DIM;

int main()
{
  int dim, j = 0;
  do
  {
    j++;
    cin >> dim;
  } while (j < 3 && dim < 2);
  if (j != 3)
  {
    int array[DIM];
    for (int i = 0; i < dim; i++)
    {
      do
      {
        cin >> array;
      } while (array < 1 || array > 9);
    }
    for (int g = 0; g < dim; g++)
    {
      cout << array[g] << ' ';
    }
  }

  return 0;
}
 
Scusate ma se faccio cosi' senza stabilire la dim va tutto bene uguale mi pare..

Codice:
#include <iostream>
#include <stdio.h>

using namespace std;
int DIM;

int main()
{
  int dim, j = 0;
  do
  {
    j++;
    cin >> dim;
  } while (j < 3 && dim < 2);
  if (j != 3)
  {
    int array[DIM];
    for (int i = 0; i < dim; i++)
    {
      do
      {
        cin >> array;
      } while (array < 1 || array > 9);
    }
    for (int g = 0; g < dim; g++)
    {
      cout << array[g] << ' ';
    }
  }

  return 0;
}
Cava quel stdio.h. E ripeto, si scrive <cnomefile> non <nomefile.h>.
Chiamalo size o altro nome, se non proviene da una direttiva non si mette il nome di una variabile in maiuscolo.
E ultima cosa non va mai messa come globale. E dichiara l’array all’inizio.
 
Scusate ma se faccio cosi' senza stabilire la dim va tutto bene uguale mi pare..

Codice:
#include 
#include 

using namespace std;
int DIM;

int main()
{
int dim, j = 0;
do
{
j++;
cin >> dim;
} while (j < 3 && dim < 2);
if (j != 3)
{
int array[DIM];
for (int i = 0; i < dim; i++)
{
do
{
cin >> array;
} while (array < 1 || array > 9);
}
for (int g = 0; g < dim; g++)
{
cout  }
}

return 0;
}

Le due variabili che chiamate dim sono appunto diverse.
dim viene valorizzata con il valore in input; l'altra invece viene valorizzata con un valore N appartenente all'intervallo del tipo int. Quindi funziona solo perché quell'array viene inizializzato con N elementi.
Prova a stampare il valore di DIM.
 
Pubblicità
Pubblicità
Indietro
Top