home *** CD-ROM | disk | FTP | other *** search
/ ftp.disi.unige.it / 2015-02-11.ftp.disi.unige.it.tar / ftp.disi.unige.it / pub / .person / CataniaB / teach-act / laboratorio / lab-19-4-99 / ese5.c < prev    next >
C/C++ Source or Header  |  1999-05-10  |  1KB  |  57 lines

  1. /* date le stringhe a1...an e b1...bm produce
  2. a1b1 a2b2 ... akbk, dove k =min{n,m}*/
  3.  
  4. #include <stdio.h>
  5. #define MAX 100
  6.  
  7. main ()
  8.  
  9. {
  10.     char a[MAX],b[MAX],c[MAX];
  11.     int i,n,m,k;
  12.  
  13.     /* leggo  n e m */
  14.      
  15.      printf("fornisci il numero di elementi del primo vettore: ");
  16.      scanf("%d",&n);
  17.      printf("fornisci il numero di elementi del secondo vettore: ");
  18.      scanf("%d",&m);
  19.      if (n < 0 || m < 0 )
  20.      {
  21.          printf("errore!");
  22.             return -1;
  23.      }
  24.  
  25.      /* leggo il primo vettore */
  26.      
  27.      for (i=0; i < n;i++)
  28.      {    printf("\nfornisci valore %d:  ",i+1);
  29.         scanf("%s",&a[i]);
  30.      }
  31.  
  32.      /* leggo il secondo vettore */
  33.      
  34.      for (i=0; i < m;i++)
  35.      {    printf("\nfornisci valore %d:  ",i+1);
  36.         scanf("%s",&b[i]);
  37.      }
  38.  
  39.     /* determino lunghezza del nuovo vettore */
  40.      
  41.      k = (n < m) ?  n :  m; 
  42.  
  43.      /* creo il nuovo vettore */
  44.  
  45.      for (i=0; i < k ; i ++)
  46.      {    c[2*i] = a[i];
  47.         c[2*i+1] = b[i];
  48.      }
  49.  
  50.      /* stampo il nuovo vettore (si puo' fare in un modo piu' furbo )*/
  51.     
  52.     printf("\n\n Il nuovo vettore contiene i seguenti caratteri: \n\n");
  53.     for (i=0; i < 2*k;i++)
  54.          printf("%c ",c[i]);
  55.      
  56.     return 0;
  57. }