inttab.c
00001 #include <stdlib.h>
00002 #include <time.h>
00003 #include <stdio.h>
00004
00005 int moyenne(int tab[], size_t n) {
00006 size_t i;
00007 int res = 0;
00008 if (n > 0) {
00009 for (i=0; i<n; i++) res += tab[i];
00010 return ((double) res)/n;
00011 }
00012 fprintf(stderr, "Erreur : tableau de taille nulle!");
00013 return 0;
00014 }
00015
00016 int min(int tab[], size_t n) {
00017 size_t i;
00018 if (n > 0) {
00019 int min = tab[0];
00020 for (i=1; i<n; i++)
00021 if (tab[i] < min) min = tab[i];
00022 return min;
00023 }
00024 fprintf(stderr, "Erreur : tableau de taille nulle!");
00025 return 0;
00026 }
00027
00028 int print_positiv_only(int tab[], size_t n) {
00029 size_t i, count = 0;
00030 if (n > 0) {
00031 for (i=0; i<n; i++) {
00032 if (tab[i] > 0) {
00033 printf("%d ",tab[i]);
00034 count++;
00035 }
00036 }
00037 } else fprintf(stderr, "Erreur : tableau de taille nulle!");
00038 return count;
00039 }
00040
00041
00042 void randtab(int tab[], size_t n, int inf, int sup);
00043 void print_tab(int tab[], size_t n);
00044
00045 #define TAB_SIZE 20
00046 int main()
00047 {
00048 int tab[TAB_SIZE];
00049 srand(time(NULL));
00050 randtab(tab,TAB_SIZE,-100,100);
00051 print_tab(tab, TAB_SIZE);
00052 printf("Valeurs positives : ");
00053 int p = print_positiv_only(tab, TAB_SIZE);
00054 printf("\nNombre de valeurs positives : %d\n", p);
00055 printf("Valeur minimale : %d\n", min(tab, TAB_SIZE));
00056
00057 return 0;
00058 }
00059
00060 void print_tab(int tab[], size_t n) {
00061 size_t i;
00062 for (i=0; i<n; i++) printf("+----");
00063 if (n > 0) printf("+\n");
00064 for (i=0; i<n; i++) printf("| %2d ", tab[i]);
00065 if (n > 0) printf("|\n");
00066 for (i=0; i<n; i++) printf("+----");
00067 if (n > 0) printf("+\n");
00068 }
00069
00070 void randtab(int tab[], size_t n, int inf, int sup) {
00071 size_t i;
00072 for (i=0; i<n; i++)
00073 tab[i] = inf + (int) (((double) (sup+1-inf)) * rand() / (RAND_MAX+1.0));
00074 }