Problema

di il
2 risposte

Problema

#include <iostream>

using namespace std;

int x[40]={1,2,3,4,5,6,7,8};
int y[40]={11,12,13,14,15,16,17,18,19,20};
int z[40];

int ultimo_elemento(int vet[]){

int x=0;
do{
x++;
}while(vet[x]);
if(vet[x]==NULL)
x=0;
return x;
}


void poggia_c(int giocatore){

//X: poggia
if(giocatore==1){
z[ultimo_elemento(z)]=x[ultimo_elemento(x)];
x[ultimo_elemento(x)]=NULL;
}
if(giocatore==2){
z[ultimo_elemento(z)]=y[ultimo_elemento(y)];
y[ultimo_elemento(y)]=NULL;
}

}

void stampa(int v[]){
int c=0;
do{
cout<<v[c]<<"-";
c++;
}while(v[c]);
}

int main()
{
poggia_c(1);
stampa(x);
cout<<endl;
stampa(y);
cout<<endl;
stampa(z);


return 0;
}

salve a tutti, vorrei fare in modo che l'ultimo elemento del vettore x o y venga copiato subito dopo l'ultimo elemento del vettore z, il problema è che invece di copiare l'ultimo elemento, copia sempre il primo, qualcuno sa aiutarmi? grazie in anticipo

2 Risposte

  • Re: Problema

    In questo modo non puoi trovare l'ultimo elemento del vettore z dato che nessuno ti assicura che termina con NULL o meglio con zero, dato che si tratta di numeri.
  • Re: Problema

    Una soluzione semplice è quella di marcare tutte le posizioni del vettore che per te sono "vuote" con un valore convenzionale, che non usi nel resto del programma e che quindi non può creare confusione. Ad esempio il classico -1...
Devi accedere o registrarti per scrivere nel forum
2 risposte