Ciao a tutti,
sono nuovo nel forum e mi chiamo Gianmarco. Sono un "alle prime armi" con il c++
e ho un esercizio che dovrei risolvere.
L'esercizio mi chiede di inserire due array da tastiera( di uguale dimensione N ) per poi copiare in un nuovo array
C[2N] gli elementi degli array A e B in posizione alternate (nei pari A e nei dispari B). Io ho pensato a questa soluzione
Il problema è che se io per esempio metto n = 5, a={1,2,3,4,5} e b = {6,7,8,9,0} c dovrebbe essere c = {1,6,2,7,3,8,4,9,5,0}codice:#include <iostream> using namespace std; int main () { int n; // dim array cout << "Inserisci dimensione array" << endl; cin >> n; int a[n], b[n]; int w = n*2; int c[w]; // inserimento elementi di a e di b for (int i = 0; i < n; i++){ cin >> a[i]; } for (int j = 0; j < n; j++){ cin >> b[j]; } //copio in c gli elementi di a nelle posizioni pari for (int k = 0; k < w; k+=2){ for (int i = 0; i < n; i++){ c[k] = a[i]; } } //copio in c gli elementi di b nelle posizioni pari for (int k = 1; k < w; k+=2){ for (int j = 0; j < n; j++){ c[k] = b[j]; } } system("PAUSE"); return 0; }
invece in output ho una cosa del genere c = {5,0,5,0,5,0,5,0,5,0} ..... Come mai????? dove sbaglio??? Mi potreste aiutare per piacere?? (Premetto che ancora non conosco i puntatori e se potete darmi una soluzione che non li utilizzi ne sarei veramente felice =) ) Ringrazio in anticipo!