/******************************************************
17. Defina las siguientes constantes simbólicas:
#define FIL 10
#define COL 100
#define ARTICULOS 3
y las siguientes matrices:
char recital[FIL][COL];
char derechos[ARTICULOS][COL] = {
"Todos los seres humanos nacen libres e iguales en dignidad y derechos.",
"Todo individuo tiene derecho a la vida, a la libertad y a la seguridad de su persona.",
"Nadie podrá ser arbitrariamente detenido, preso ni desterrado"
};
Luego, implemente la función:
void generar(char (*des)[COL], char (*ori)[COL], int items_des, int items_ori);
de manera que al ejecutarse
generar(recital,derechos,FIL,ARTICULOS);
se copie en cada fila de la matriz recital de manera aleatoria una de las tres cadenas de la matriz
derechos.
Finalmente, implemente la función
void mostrar(char (*ptr)[COL], int items);
de manera que al ejecutarse mostrar(recital,FIL); se genere un recital de derechos
fundamentales, como:
0: Todo individuo tiene derecho a la vida, a la libertad y a la seguridad de
su persona.
1: Nadie podrá ser arbitrariamente detenido, preso ni desterrado
2: Todo individuo tiene derecho a la vida, a la libertad y a la seguridad de
su persona.
3: Nadie podrá ser arbitrariamente detenido, preso ni desterrado
4: Todo individuo tiene derecho a la vida, a la libertad y a la seguridad de
su persona.
5: Nadie podrá ser arbitrariamente detenido, preso nidesterrado
6: Nadie podrá ser arbitrariamente detenido, preso ni desterrado
7: Todo individuo tiene derecho a la vida, a la libertad y a la seguridad de
su persona.
8: Todo individuo tiene derecho a la vida, a la libertad y a la seguridad de su persona.
9: Todos los seres humanos nacen libres e iguales en dignidad y derechos.
***********************************************************/
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <time.h>
#define FIL 10
#define COL 100
#define ARTICULOS 3
using namespace std;
void generar(char (*des)[COL], char (*ori)[COL], int items_des, int items_ori);
void mostrar(char (*ptr)[COL], int items);
int getRand(int min, int max);
int main(){
char recital[FIL][COL];
char derechos[ARTICULOS][COL] = {
"Todos los seres humanos nacen libres e iguales en dignidad y derechos.",
"Todo individuo tiene derecho a la vida, a la libertad y a la seguridad de su persona.",
"Nadie podrá ser arbitrariamente detenido, preso ni desterrado. "
};
generar(recital, derechos, FIL, ARTICULOS);
mostrar(recital, FIL);
return 0;
}
void generar(char (*des)[COL], char (*ori)[COL], int items_des, int items_ori){
int numRand = getRand(0, items_ori-1);
for(int i=0; i<items_des; i++){
strcpy(*(des+i), *(ori+numRand));
}
}
void mostrar(char (*ptr)[COL], int items){
for(int i=0; i<items; i++){
cout<<i<<". "<<*(ptr+i)<<"\n";
}
}
int getRand(int min, int max){
srand(time(NULL));
int res = min+rand()%(max-min+1);
return res;
}