logo Thecsea.it



Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License



scolastica » esercizi » terza superiore » linguaggio c

Testo dell'esercizio

Sia dato un vettore contenente i nomi di diversi tipi di volatili e una matrice contenente, per ogni tipo di volatile, il numero di uova deposte da ognuna delle 10 femmine che sono state messe sotto osservazione.
Scrivere un programma che, dopo aver caricato i dati, presenti un menu' con opzioni corrispondenti alle seguenti richieste:
1) stampa del tipo di volatile che ha deposto il minimo numero di uova sulle dieci covate;
2) stampa di quanti volatili hanno deposto un numero medio di uova che risulta maggiore e minore alla media delle uova deposte da tutti i volatili presi in osservazione.

mostra soluzione

01/*
02CLAUDIO CARDINALE III AI
03Sia dato un vettore contenente i nomi di diversi tipi di volatili e una matrice contenente, per ogni tipo di volatile, il numero di uova deposte da ognuna delle 10 femmine che sono state messe sotto osservazione.
04Scrivere un programma che, dopo aver caricato i dati, presenti un menu' con opzioni corrispondenti alle seguenti richieste:
051) stampa del tipo di volatile che ha deposto il minimo numero di uova sulle dieci covate;
062) stampa di quanti volatili hanno deposto un numero medio di uova che risulta maggiore e minore alla media delle uova deposte da tutti i volatili presi in osservazione.
07*/
08#include<stdio.h>
09#define MAX 1000
10#define F 10
11int main(){
12     
13    //dichiarazioni
14     
15    int r,j,i,mat[MAX][10],somma[MAX],pos_min=0,mag=0,min=0;
16    char volatili[MAX][MAX];
17    float media=0;
18     
19     
20    //acquisizione dati
21     
22    //lunghezza matrice
23    do{
24        printf("inserire il numero dei tipi di volatili : ");
25        scanf("%d",&r);
26    }while(r<1 || r>=MAX);
27     
28         
29    //acquisizione dati
30     
31    for(i=0;i<r;i++){
32            printf("inserire il tipo di volatile numero %d : ",i+1);
33            getchar();
34            scanf("%s",volatili[i]);
35         
36    }
37     
38    for(i=0;i<r;i++)
39        for(j=0;j<F;j++){
40            printf("inserire il numero di uova prodotte dalla femmina numero %d ed del tipo %s : ",j+1,volatili[i]);
41            scanf("%d",&mat[i][j]);
42        }
43     
44     
45    //calcoli
46     
47    //1°
48     
49    /*for(i=0;i<r;i++){
50        for(j=0;j<F;j++)
51            printf("%d ",mat[i][j]);
52        printf("\n");
53    }*/
54     
55    for(i=0;i<r;i++){
56        somma[i] = 0;
57        for(j=0;j<F;j++)
58            somma[i] += mat[i][j];
59    }
60     
61    for(i=0;i<r;i++)
62        if(somma[i]<somma[pos_min])
63            pos_min = i;
64     
65    //2°
66     
67    for(i=0;i<r;i++)
68        media += somma[i];
69     
70    media/=r*F;
71     
72    for(i=0;i<r;i++){
73        if(((float)somma[i]/F)>media)
74            mag++;
75        else
76            min++;
77        //printf("%d - %f - %f\n",i,media,(float)somma[i]/F);
78        }
79     
80     
81    //visualizzazione risultati
82     
83    printf("il tipo di volatile che ha deposto meno uova e` %s, mentre il numero di tipi di volatili che hanno deposto piu` uova della media e` %d ed quello di quelli che ne hanno deposte di meno e` %d\n",volatili[pos_min],mag,min);
84}

Testi Consigliati:

Il linguaggio C. Principi di programmazione e manuale di riferimento. Ediz. MyLab. Con Contenuto digitale per download e accesso on line
C guida alla programmazione: Conoscere lo standard C11 dalle basi del linguaggio alle direttive del preprocessore (Programmare con C Vol. 1)
Programmazione in C

torna



Copyright © 2004-2025 thecsea.it (Claudio Cardinale - cardi@thecsea.it)! Tutti i diritti riservati. - contattaci