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

    [c++] Problema esercizio su array

    Salve a tutti, mi scuso in partenza se commetterò degli errori ma è la seconda volta che uso questo forum e non sono esperto.

    Come leggete da titolo ho un problema con un esercizio sugli array in c++.
    questo è il testo:

    Scrivere un programma che legge due sequenze A e B rispettivamente di n ed m interi
    (n ed m dati di input, < 100), e ne determina e stampa l'intersezione insiemistica
    (ovvero, tutti e soli gli elementi comuni alle due sequenze). Stampare un opportuno
    messaggio se l'intersezione risulta vuota. N.B. Si assuma per semplicità che i numeri
    immessi siano tutti diversi tra loro.

    Allora questo è il mio programma.

    codice:
    #include <iostream>
    using namespace std;
    int main(){
        int a1[100];
        int b2[100];
        int n,a,z;
        int m,b,x;
        int j;
        a=0;
        b=0;
        j=0;
        cout << "Dimmi il numero degli elementi della prima sequenza" << endl;
        cin >> n;
        for ( a=0; a<n ;a++){
            cout <<"Dammi un numero";
            cin >> a1[a];
            cout << endl;
            }
        cout << "Dimmi il numero degli elementi della seconda sequenza" << endl;
        cin >> m;     
        for ( b=0; b<m ;b++){
             cout <<"Dammi un numero";
            cin >> b2[b];
            cout << endl;
            } 
        cout <<"L'intersezione tra le due sequenze date è ";
        a = 0;
        b = 0;
        while(a < n){
                        while(b < m){
                        z = a1[a];
                        x = b2[b];
                        if(z = x){
                             j = j +1;
                             cout << z ; 
                             }
                             
                             b = b+1;
                             }
                             b = 0;
                             a = a+1;
                             }
                                        if (j = 0)
                                        cout << " vuota" << endl;
                                        cout << endl;
                        
                         system("pause");
                         return 0;
                         }
    Il problema viene fuori solo nell'ultima parte del testo esattamente nell'ultimo if, in cui a quanto pare entra tutte le volte e mi stampa tutti gli elementi dell'array b2 anche se gli dico di stampare quelli di a1.

    Sapreste aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    = è per l'assegnazione

    == è per il confronto
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Oregon è gia la seconda volta che mi salvi, un ti voglio bene ti è dovuto!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Anche uno "stai più attento" ... :-)
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.