AleksandarArkan

Piu valori di ritorno - funzioni

Mar 27th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.99 KB | None | 0 0
  1. //Funzioni con piu valori di ritorno
  2.  
  3. /*-----------------------------------------------------------------------*/
  4. //1)Dato un array restituisce il massimo ed il minimo
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7.  
  8. /*scrivere un esercizio che dato in input un vettore restituisca il massimo ed il minimo*/
  9.  
  10. void vett_max_min(int *vettore,int dimensione, int *massimo, int *minimo);
  11.  
  12. int main(){
  13.     int dimensione;
  14.     int *p;
  15.    
  16.     printf("Quanti elementi avra' il tuo vettore: \n");
  17.     scanf("%d", &dimensione);
  18.  
  19.     p=(int *)malloc(sizeof(int)*dimensione);
  20.    
  21.     //variabili per immagazzinare i risultati
  22.     int massimo, minimo;
  23.    
  24.     //inserimento nel vettore
  25.     printf("Inserisci i valori: \n");
  26.     int i;
  27.     for(i=0;i<dimensione;i++){
  28.         printf("Inserisci elemento %d:", i+1);
  29.         scanf("%d", &p[i]);
  30.     }
  31.    
  32.     vett_max_min(p,dimensione, &massimo,&minimo);
  33.     printf("il massimo del vettore e' %d, il minimo del vettore e' %d", massimo, minimo);
  34.    
  35.     return 0;
  36.  
  37. }
  38.  
  39. //definizione della funzione
  40. void vett_max_min(int *vettore,int dimensione, int *massimo, int *minimo){
  41.     *massimo=vettore[0];
  42.     *minimo=vettore[0];
  43.     int i;
  44.    
  45.     //ricerco il massimo
  46.     for(i=0;i<dimensione;i++){
  47.         if(vettore[i]>*massimo)
  48.             *massimo=vettore[i];
  49.     }  
  50.    
  51.     //ricerco il minimo
  52.     for(i=0;i<dimensione;i++){
  53.         if(vettore[i]<*minimo)
  54.             *minimo=vettore[i];
  55.     }
  56. }
  57.  
  58. /*-----------------------------------------------------------------------*/
  59. //2)Determina il segno e restituisce il doppio
  60.  
  61. #include <stdio.h>
  62. #include <stdlib.h>
  63.  
  64. //dato un numero, restituisci il suo segno, e il doppio del numero inserito
  65.  
  66. //protoptipo della funzione
  67. void segno_doppio(int numero, char *segno, int *doppio);
  68.  
  69. int main(){
  70.     int numero,doppio;
  71.     char segno;
  72.    
  73.     printf("Inserisci il numero : \n");
  74.     scanf("%d", &numero);
  75.    
  76.     segno_doppio(numero,&segno, &doppio);
  77.    
  78.     printf("il segno del numero inserito e' : %c\n", segno);
  79.     printf("il doppio del numero inserito e' : %d\n", doppio);
  80.    
  81.    
  82.     return 0;
  83. }
  84.  
  85. //definizione della funzione
  86. void segno_doppio(int numero, char *segno, int *doppio){
  87.     //stabilisco il segno
  88.     if(numero>0)
  89.         *segno='+';
  90.     if(numero<0)
  91.         *segno='-';
  92.     //calcolo il doppio
  93.     *doppio=numero*2;
  94.     }
  95.    
  96. /*-----------------------------------------------------------------------*/
  97. //3)Divisione tra due funzioni
  98.  
  99. #include <stdio.h>
  100. #include <stdlib.h>
  101.  
  102. //divisione fra due frazioni
  103. //prototipo della funzione
  104.  
  105. void div_fractions(int numeratore1, int denominatore1,int numeratore2, int denominatore2, int *risultato_numeratore, int *risultato_denominatore);
  106.  
  107.  
  108. int main(){
  109.     int num1;
  110.     int den1;
  111.     int num2;
  112.     int den2;
  113.     int num_res;
  114.     int den_res;
  115.    
  116.     //lettura prima frazione
  117.     printf("Inserisci il num. della prima frazione: \n");
  118.     scanf("%d", &num1);
  119.    
  120.     printf("Inserisci il den. della prima frazione: \n");
  121.     scanf("%d", &den1);
  122.    
  123.     //lettura seconda frazione
  124.     printf("Inserisci il num. della seconda frazione: \n");
  125.     scanf("%d", &num2);
  126.    
  127.     printf("Inserisci il den. della seconda frazione: \n");
  128.     scanf("%d", &den2);
  129.    
  130.     //chiamo la funzione
  131.    
  132.     div_fractions(num1,den1,num2,den2,&num_res,&den_res);
  133.    
  134.     printf("La frazione risultante e': \n %d/%d", num_res,den_res);
  135.    
  136.    
  137.     return 0;
  138.    
  139.    
  140.    
  141. }
  142.  
  143. //definizione della funzione
  144. void div_fractions(int numeratore1, int denominatore1,int numeratore2, int denominatore2, int *risultato_numeratore, int *risultato_denominatore){
  145.     *risultato_numeratore=numeratore1*denominatore2;
  146.     *risultato_denominatore=denominatore1*numeratore2;
  147.     }
  148.    
  149. /*-----------------------------------------------------------------------*/
  150. //4)Moltiplica due funzioni
  151.  
  152. #include <stdio.h>
  153. #include <stdlib.h>
  154.  
  155. //moltiplica due frazioni
  156. //prototipo della funzione
  157.  
  158. void mult_fractions(int numeratore1, int denominatore1,int numeratore2, int denominatore2, int *risultato_numeratore, int *risultato_denominatore);
  159.  
  160.  
  161. int main(){
  162.     int num1;
  163.     int den1;
  164.     int num2;
  165.     int den2;
  166.     int num_res;
  167.     int den_res;
  168.    
  169.     //lettura prima frazione
  170.     printf("Inserisci il num. della prima frazione: \n");
  171.     scanf("%d", &num1);
  172.    
  173.     printf("Inserisci il den. della prima frazione: \n");
  174.     scanf("%d", &den1);
  175.    
  176.     //lettura seconda frazione
  177.     printf("Inserisci il num. della seconda frazione: \n");
  178.     scanf("%d", &num2);
  179.    
  180.     printf("Inserisci il den. della seconda frazione: \n");
  181.     scanf("%d", &den2);
  182.    
  183.     //chiamo la funzione
  184.    
  185.     mult_fractions(num1,den1,num2,den2,&num_res,&den_res);
  186.    
  187.     printf("La frazione risultante e': \n %d/%d", num_res,den_res);
  188.    
  189.    
  190.     return 0;
  191.    
  192.    
  193.    
  194. }
  195.  
  196. //definizione della funzione
  197. void mult_fractions(int numeratore1, int denominatore1,int numeratore2, int denominatore2, int *risultato_numeratore, int *risultato_denominatore){
  198.     *risultato_numeratore=numeratore1*numeratore2;
  199.     *risultato_denominatore=denominatore1*denominatore2;
  200.     }
  201.    
  202.  
  203. /*-----------------------------------------------------------------------*/
  204. //5)Somma due frazioni
  205.  
  206. #include <stdio.h>
  207. #include <stdlib.h>
  208.  
  209. //somma due frazioni
  210. //prototipo della funzione
  211.  
  212. void add_fractions(int numeratore1, int denominatore1,int numeratore2, int denominatore2, int *risultato_numeratore, int *risultato_denominatore);
  213.  
  214.  
  215. int main(){
  216.     int num1;
  217.     int den1;
  218.     int num2;
  219.     int den2;
  220.     int num_res;
  221.     int den_res;
  222.    
  223.     //lettura prima frazione
  224.     printf("Inserisci il num. della prima frazione: \n");
  225.     scanf("%d", &num1);
  226.    
  227.     printf("Inserisci il den. della prima frazione: \n");
  228.     scanf("%d", &den1);
  229.    
  230.     //lettura seconda frazione
  231.     printf("Inserisci il num. della seconda frazione: \n");
  232.     scanf("%d", &num2);
  233.    
  234.     printf("Inserisci il den. della seconda frazione: \n");
  235.     scanf("%d", &den2);
  236.    
  237.     //chiamo la funzione
  238.    
  239.     add_fractions(num1,den1,num2,den2,&num_res,&den_res);
  240.    
  241.     printf("La frazione risultante e': \n %d/%d", num_res,den_res);
  242.    
  243.    
  244.     return 0;
  245.    
  246.    
  247.    
  248. }
  249.  
  250. //definizione della funzione
  251. void add_fractions(int numeratore1, int denominatore1,int numeratore2, int denominatore2, int *risultato_numeratore, int *risultato_denominatore){
  252.     *risultato_numeratore=numeratore1+numeratore2;
  253.     *risultato_denominatore=denominatore1+denominatore2;
  254.     }
Advertisement
Add Comment
Please, Sign In to add comment