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

    [C++]problema nel confronto di due vettori di dimensioni diverse

    Dati due vettori v1(100) v2(90) devo moltiplicare tutti gli elementi di v2 *3(esempio).
    Poi devo confrontare ogni valore di v2 con tutti i valori di v1 e se trovo un numero uguale devo fare questo scambio: V1(n-1)=V1[i]//cioè il numero uguale a v2)
    Ho scritto questo codice:

    codice:
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    #include <conio.h>
    
    
    
    
         
          
    int main()
    {
        int temp=0;
        int temp2=0;
        int n=100;
        int m=90; 
        int V1[n];
        int V2[m];
        int i=0;
        int j=0;
     
    
    
        
        for(i=0; i<100; i++){ 
        V1[i]=rand() % 100+1;} 
        for(j=0; j<90; j++){ 
        V2[j]=rand() % 100;}
         i=0;   
         j=0;
         printf("\n\n");
         printf("I valori iniziali del primo vettore sono :  ");
         printf("\n\n");
         for(i=0;i<100;i++){
         printf("%d ,",V1[i]);}
         printf("\n\n");
         printf("I valori iniziali del secondo vettore sono :  ");
         printf("\n\n");
         for(j=0;j<90;j++){
         printf("%d ,",V2[j]);}
           printf("\n\n");
         j=0;
        for (j=0;j<90;j++){
            V2[j]=V2[j]*3;}
           printf("I valori del secondo vettore dopo la moltiplicazione sono :  ");
         printf("\n\n");
         for(j=0;j<90;j++){
         printf("%d ,",V2[j]);}
        j=0;
        i=0;
        for(j=0;j<90;j++){
        temp2=V2[j];
        for(i=0;i<100;i++){
            if(V1[i]=temp2){
              temp=V1[i];
              V1[i]=V1[n-1];
              V1[n-1]=temp;}
              }temp2=0;}
        printf("\n\n");
        printf("I valori finali del primo vettore sono :  ");
        printf("\n\n");
        for(i=0;i<100;i++){
        printf("%d ,",V1[i]);}
        printf("\n\n");
    
        printf("\n\n");
        printf("\n\n");
        
        
        system("PAUSE");
        
            
        
    }

    Ma i risultati non sono quelli desiderati e non riesco a capire il perchè.Cosa ho sbaglaio per favore aiutatemi.

    Ecco l'output:



    codice:
    I valori iniziali del primo vettore sono :
    42 ,68 ,35 ,1 ,70 ,25 ,79 ,59 ,63 ,65 ,6 ,46 ,82 ,28 ,62 ,92 ,96 ,43 ,28 ,37 ,92
     ,5 ,3 ,54 ,93 ,83 ,22 ,17 ,19 ,96 ,48 ,27 ,72 ,39 ,70 ,13 ,68 ,100 ,36 ,95 ,4 ,
    12 ,23 ,34 ,74 ,65 ,42 ,12 ,54 ,69 ,48 ,45 ,63 ,58 ,38 ,60 ,24 ,42 ,30 ,79 ,17 ,
    36 ,91 ,43 ,89 ,7 ,41 ,43 ,65 ,49 ,47 ,6 ,91 ,30 ,71 ,51 ,7 ,2 ,94 ,49 ,30 ,24 ,
    85 ,55 ,57 ,41 ,67 ,77 ,32 ,9 ,45 ,40 ,27 ,24 ,38 ,39 ,19 ,83 ,30 ,42 ,
    
    I valori iniziali del secondo vettore sono :
    
    33 ,15 ,39 ,58 ,4 ,30 ,77 ,6 ,73 ,86 ,21 ,45 ,24 ,72 ,70 ,29 ,77 ,73 ,97 ,12 ,86
     ,90 ,61 ,36 ,55 ,67 ,55 ,74 ,31 ,52 ,50 ,50 ,41 ,24 ,66 ,30 ,7 ,91 ,7 ,37 ,57 ,
    87 ,53 ,83 ,45 ,9 ,9 ,58 ,21 ,88 ,22 ,46 ,6 ,30 ,13 ,68 ,0 ,91 ,62 ,55 ,10 ,59 ,
    24 ,37 ,48 ,83 ,95 ,41 ,2 ,50 ,91 ,36 ,74 ,20 ,96 ,21 ,48 ,99 ,68 ,84 ,81 ,34 ,5
    3 ,99 ,18 ,38 ,0 ,88 ,27 ,67 ,
    
    I valori del secondo vettore dopo la moltiplicazione sono :
    
    99 ,45 ,117 ,174 ,12 ,90 ,231 ,18 ,219 ,258 ,63 ,135 ,72 ,216 ,210 ,87 ,231 ,219
     ,291 ,36 ,258 ,270 ,183 ,108 ,165 ,201 ,165 ,222 ,93 ,156 ,150 ,150 ,123 ,72 ,1
    98 ,90 ,21 ,273 ,21 ,111 ,171 ,261 ,159 ,249 ,135 ,27 ,27 ,174 ,63 ,264 ,66 ,138
     ,18 ,90 ,39 ,204 ,0 ,273 ,186 ,165 ,30 ,177 ,72 ,111 ,144 ,249 ,285 ,123 ,6 ,15
    0 ,273 ,108 ,222 ,60 ,288 ,63 ,144 ,297 ,204 ,252 ,243 ,102 ,159 ,297 ,54 ,114 ,
    0 ,264 ,81 ,201 ,
    
    I valori finali del primo vettore sono :
    
    81 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,2
    01 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,2
    01 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,2
    01 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,2
    01 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,2
    01 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,201 ,2
    01 ,201 ,201 ,201 ,
    
    
    Premere un tasto per continuare . . .

  2. #2
    leleFT va bene cosi ? se non va bene scusami non era mia intenzione cerchero di aggiustarlo ancora

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,319
    Originariamente inviato da puccio86
    leleFT va bene cosi ? se non va bene scusami non era mia intenzione cerchero di aggiustarlo ancora
    Ora va bene... attento però a chiudere i tag CODE:

    [code]
    codice
    [/code]

    L'ho corretto io.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Grazie mille non è che per caso sai darmi una mano a risolvere il mio piccolo problema??

  5. #5
    grazie di tutto ma ho già risolto da solo con seguente codice:


    codice:
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    #include <conio.h>
    
    int main()
    {
        int temp=0;
        int temp2=0;
        int n=100;
        int m=90; 
        int V1[n];
        int V2[m];
        int i=0;
        int j=0;
     
        for(i=0; i<100; i++){ 
        V1[i]=rand() % 300;} 
        for(j=0; j<90; j++){ 
        V2[j]=rand() % 25;}
         i=0;   
         j=0;
         printf("\n\n");
         printf("I valori iniziali del primo vettore sono :  ");
         printf("\n\n");
         for(i=0;i<100;i++){
         printf("%d ,",V1[i]);}
         printf("\n\n");
         printf("I valori iniziali del secondo vettore sono :  ");
         printf("\n\n");
         for(j=0;j<90;j++){
         printf("%d ,",V2[j]);}
           printf("\n\n");
         j=0;
        for (j=0;j<90;j++){
            V2[j]=V2[j]*15;}
           printf("I valori del secondo vettore dopo la moltiplicazione sono :  ");
         printf("\n\n");
         for(j=0;j<90;j++){
         printf("%d ,",V2[j]);}
        j=0;
        i=0;
        for(j=0;j<90;j++){
        for(i=0;i<100;i++){
            if(V2[j]==V1[i]){
              temp=V1[i];
              V1[i]=V1[n-1];
              V1[n-1]=temp;
              temp=0;}}}
        printf("\n\n");
        printf("I valori finali del primo vettore sono :  ");
        printf("\n\n");
        for(i=0;i<100;i++){
        printf("%d ,",V1[i]);}
        printf("\n\n");
    
        printf("\n\n");
        printf("\n\n");
        
        
        system("PAUSE");
        
            
        
    }

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 © 2025 vBulletin Solutions, Inc. All rights reserved.