1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NBL 6
#define NBC 4
int som_tab(int const [NBL][NBC], int const ,int const );
void init_tab(int[NBL][NBC], int const ,int const );
int aff_tab(int const[NBL][NBC],int const ,int const );
int pos_tab(int const[NBL][NBC], int const ,int const );
void sompn_tab(int const[NBL][NBC], int const ,int const ,int* sp ,int* sn);
int max_tab(int const[NBL][NBC], int const ,int const );
void pos_max(int const[NBL][NBC], int const ,int const ,int* pos1 ,int* pos2);
int occ_tab(int const[NBL][NBC], int const ,int const);
int main(){
int tab[NBL][NBC],sp,sn,pos1,pos2;
srand(time(NULL));
init_tab(tab,NBL,NBC);
aff_tab(tab,NBL,NBC);
printf(" 1.La somme: %d\n",som_tab(tab,NBL,NBC));
printf(" 2.Le nombre des elements pos: %d\n",pos_tab(tab,NBL,NBC));
sompn_tab(tab,NBL,NBC,&sp ,&sn);
printf(" 3.La somme des elements pos: %d La somme des elements negatifs est %d\n",sp,sn);
printf(" 4.Le max est %d\n",max_tab(tab,NBL,NBC));
pos_max(tab,NBL,NBC,&pos1,&pos2);
printf(" 5.La position du max est tab[%d][%d]\n",pos1,pos2);
printf(" 6.Le nombre d'occurence est %d\n",occ_tab(tab,NBL,NBC));
return 0;
}
void init_tab(int A[NBL][NBC], int const nbl,int const nbc){
int i,j;
for(i=0;i<nbl;i++){
for(j=0;j<nbc;j++)
A[i][j]=((rand()%2)?1:-1)*rand()%21;
}
}
int aff_tab( int const A[NBL][NBC], int const nbl,int const nbc){
int i,j;
printf("\n\t ------------------------");
for(i=0;i<nbl;i++){
printf("\n\t |");
for(j=0;j<nbc;j++)
printf("%3d ",A[i][j]);
printf(" |");
}
printf("\n\t ------------------------ \n");
}
int pos_tab(int const A[NBL][NBC], int const nbl,int const nbc){
int i,j,occ;
for(i=0,occ=0;i<nbl;i++){
for(j=0;j<nbc;j++){
if(A[i][j]>0)
occ++;
}
}
return occ;
}
int som_tab(int const A[NBL][NBC], int const nbl,int const nbc){
int i,j,som;
for(i=0,som=0;i<nbl;i++){
for(j=0;j<nbc;j++)
som+=A[i][j];
}
return som;
}
int max_tab(int const A[NBL][NBC], int const nbl,int const nbc){
int i,j;
int max=A[0][0];
for(i=0;i<nbl;i++){
for(j=0;j<nbc;j++){
if(A[i][j]>max)
max=A[i][j];
}
}
return max;
}
void sompn_tab(int const A[NBL][NBC], int const nbl,int const nbc,int *sp,int *sn){
int i,j;
*sp=*sn=0;
for(i=0;i<nbl;i++){
for(j=0;j<nbc;j++){
if(A[i][j]>0){(*sp)+=A[i][j]; }
else {(*sn)+=A[i][j]; }
}
}
}
void pos_max(int const A[NBL][NBC], int const nbl,int const nbc, int *pos1, int *pos2){
int i,j;
*pos1=*pos2=0;
for(i=0;i<nbl;i++){
for(j=0;j<nbc;j++){
if(A[i][j]==max_tab(A,nbl,nbc)){
*pos1=i+1;
*pos2=j+1;
}
}
}
}
int occ_tab(int const A[NBL][NBC], int const nbl,int const nbc){
int i,j,X,comp;
comp=0;
X=((rand()%2)?1:-1)*rand()%21;
for(i=0,comp=0;i<nbl;i++){
for(j=0;j<nbc;j++){
if(A[i][j]==X){
comp++;
}
}
}
printf(" X=%d \n", X);
return comp;
} |
Partager