Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [C++] Unione Vettori

  1. #1
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80

    [C++] Unione Vettori

    Ciao a tutti!!
    Non riesco a svolgere questa esercitazione banale sull'unione di due semplici vettori..
    Dati 2 vettori di caratteri (inizializzati coi seguenti valori - '^' significa 'vuoto'):

    A, vettore di 4 elementi ---> { 'A', ^, ^, ^ };
    B, vettore di 4 elementi ---> { 'B', ^, ^, ^ };

    devo unirli in un 3° vettore, C. L'output deve essere il seguente :

    A, B

    ossia devo stampare a video solo gli elementi presenti (se esistono).

    Il mio codice è questo :

    codice:
    #include <iostream>                  
    #include <stdlib.h>
    
    using namespace std;
    
    
    main() {
      const int n = 4;
      int i = 0;
      int k, j = 0;
      char A[n] = { 'A' };
      char B[n] = { 'B' };
      char C[n + n];
      
      cout << "*************   UNIONE VETTORI   **************\n\n";
      /* Inserisce elementi nel vettore 'unione' : */
      for(k = 0; k < (n * 2); k++) {
        while(A[i] != '\0') {
        C[k] = A[i];
        i++;
        
        while(B[j] != '\0') {
          C[k] = B[j];
          j++;
        }
        }
      }
      
      /* Visualizza il vettore 'unione' : */
      for(int l = 0; l < (n * 2); l++) {  
        cout << C[l] << " ";
      }
      cout << "\n";
      
    cout << "Premi 'Invio' per terminare..";
    cin.ignore();
    return EXIT_SUCCESS;
    }

    Chi mi può dare un suggerimento?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466

    Re: [C++] Unione Vettori

    Originariamente inviato da Zeldic

    Chi mi può dare un suggerimento?
    codice:
      /* Inserisce elementi nel vettore 'unione' : */
      for(k = 0; k<n && A[k]; k++) 
        C[k] = A[k];
    
      for(j = 0; j<n && B[j]; j++, k++) 
        C[k] = B[j];
      
      /* Visualizza il vettore 'unione' : */
      for(int l = 0; l < k; l++) {  
        cout << C[l] << " ";
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80

    Re: Re: [C++] Unione Vettori

    Originariamente inviato da oregon

    codice:
      for(k = 0; k<n && A[k]; k++) 
        C[k] = A[k];
    
      for(j = 0; j<n && B[j]; j++, k++) 
        C[k] = B[j];

    Oregon.. Grazie! Finalmente! Io però non avrei mai pensato di scrivere all'interno dei for quegli && che ho evidenziato, lo trovo un po' difficoltoso, ma se li ometto il programma mi stampa gli spazi vuoti dei 2 vettori, vero?

    Posso fare una domanda? Ho bisogno di capire una cosa : mi è stato chiesto di unire i 2 vettori di cui sopra, A = { 'A', ^, ^, ^ } U B = { 'B', ^, ^, ^ }, e poi chiesta la definizione matematica di unione di due insiemi e quale fosse l'insieme d'arrivo, cioè il vettore C. Io ho risposto che per me il vettore C risulta così dopo l'unione : C = { 'A', ^, ^, ^, 'B', ^, ^, ^ }.
    Lui dice che se per me è questa l'unione e l'elemento vuoto è un elemento, allora siamo proprio a posto.. Ci sono gravi problemi di Matematica discreta alla base.. :074:

    Qualcuno può dirmi se è vero che ciò che ho detto è un'assurdità, così grave, da compromettermi un esame?? :060:

  4. #4
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80
    .. Forse non si capisce molto la mia domanda, ma per me è importante ricevere una vostra risposta..

    Se ho 2 vettori :

    A = { 'A', vuoto, vuoto, vuoto }

    B = { 'B', vuoto, vuoto, vuoto }


    nell'implementazione di un programma A U B diviene :

    - { 'A', vuoto, vuoto, vuoto, 'B', vuoto, vuoto, vuoto }

    oppure

    - { 'A', 'B' } ?

    Quale Output devo visualizzare quando faccio la Union - Find di questi 2 vettori??

    Dai.. Rispondetemi!

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ma il mio codice l'hai provato? Che output ottieni?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80
    Originariamente inviato da oregon

    Ma il mio codice l'hai provato? Che output ottieni?

    Sì, va benissimo.. Ottengo come output : { 'A', 'B' }, proprio come voleva il mio prof.. La mia era solo una domanda di teoria, che mi ha fatto lui, dicendomi che i vuoti non sono da considerare degli elementi. Io ero convinta che si potesse ottenere quell'output solo quando faccio la union di 2 liste, perché con i puntatori non mi pongo il problema di gestire i vuoti (come con i 2 vettori di 4 elementi ciascuno, ma riempiti con uno solo)..

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Dal punto di vista "insiemistico" (lasciando stare l'informatica per un momento), gli elementi "vuoti" non esistono proprio.

    Un insieme contiene l'elemento A e basta. L'altro, l'elemento B e basta.

    Il risultato dell'unione è

    A, B
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80
    Originariamente inviato da oregon

    Dal punto di vista "insiemistico" (lasciando stare l'informatica per un momento), gli elementi "vuoti" non esistono proprio.

    Un insieme contiene l'elemento A e basta. L'altro, l'elemento B e basta.

    Il risultato dell'unione è

    A, B

    Grazie! E' esattamente quello che volevo sapere!

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Semmai esiste l' "insieme vuoto" ...
    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.