-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoperadoresArray.c
53 lines (49 loc) · 1.29 KB
/
operadoresArray.c
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
/******************************************************************************
* Operaciones básicas con arrays.
* Autores: Labayén Franco - Wals Lucas.
*****************************************************************************/
/*
* Verifica si el entero "e" esta contenido entre las posiciones
* "lim_inf" y "lim_sup" de un array "a" (considerando los extremos)
*/
int pertenece(int e, int lim_inf, int lim_sup, int a[]) {
int rta = 0;
for(; lim_inf <= lim_sup && a[lim_inf] != e; lim_inf++) {}
if(lim_inf <= lim_sup) {
rta = 1;
}
return rta;
}
/*
* Copia un array de enteros "b" en otro "a"
*/
void arrayCP(int dim, int a[],int b[]) {
dim--;
for(; dim >= 0; dim--) {
a[dim] = b[dim];
}
}
/*
* Copia una matriz de enteros "b" en otra "a"
*/
void matrizCP(int dim1,int dim2, int a[][dim2],int b[][dim2]) {
int i,j;
for(i = 0; i < dim1; i++) {
for(j = 0; j < dim2; j++) {
a[i][j] = b[i][j];
}
}
}
/*
* Llena un array "a" de números enteros aleatorios, no repetidos y
* comprendidos entre 0 y "dim - 1"
*/
void randArray(int dim, int a[]){
int i, r = rand() % dim;
for(i = 0; i < dim; i++) {
while(pertenece(r, 0, i - 1, a)) {
r = rand() % dim;
}
a[i] = r;
}
}