Hola buenas tardes necesito su ayuda urgente porq tengo q defender un programa en c++ y no se como explicarlo es sobre un programa que genera preguntas y respuestas de forma aleatoria utilice una matriz aqui les envio el codigo para q me ayuden de antemano gracias a los q me puedan colaborar!!
#include <iostream>
#include <cstring>
#include <stdlib.h>
#include<ctime>
using namespace std;
bool Encontrar(int* z, int cima, int m);
int NumAleat(int n);
int main ()
{
int i,j,cant;
char *preguntas[100][5];
char *seleccion[3]={"a.-","b.-","c.-"};
preguntas[0][0]="¿Que es un sufijo?";
preguntas[0][1]=" Una palabra arabe";
preguntas[0][2]=" Frase que se anexa a una palabra al final";
preguntas[0][3]=" Frase que se anexa a una palabra al principio";
preguntas[1][0]="¿Que es un puntero?";
preguntas[1][1]=" Es una flecha";
preguntas[1][2]=" Permiten simular espacios por referencia";
preguntas[1][3]=" Un helado";
preguntas[2][0]="¿Que es una variable?";
preguntas[2][1]=" Es un valor que puede cambiar";
preguntas[2][2]=" Lugar digital donde se puede almacenar un valor";
preguntas[2][3]=" Un identificador";
preguntas[3][0]="¿Para que se usa la funcion CTRCPY?";
preguntas[3][1]=" Para unir cadenas de caracteres";
preguntas[3][2]=" Para saber la longitud de una cadena de caracteres";
preguntas[3][3]=" Para copiar una cadena de caracteres";
preguntas[4][0]="¿Que es un vector?";
preguntas[4][1]=" Un son arreglos unidimensionales";
preguntas[4][2]=" Un arreglo multidimensional";
preguntas[4][3]=" Un puntero";
cout<<"\n\n¿Cuantos examenes se van a realizar?"<<endl;
cin>>cant;
for(i=0;i<cant;i++){
cout<<"\n\nPara el examen "<<i+1<<" las preguntas son: "<<endl;
int cima=4;
int repetido[cima+1];
int* comienzo=repetido;
for(int j=0;j<2+1;){
int num=NumAleat(cima);
if(!Encontrar(repetido,cima+1,num)){
cout<<endl;
cout<<preguntas[num][0]<<endl;
int cima2=3;
int repetido2[cima2+1];
int* comienzo2=repetido2;
for(int k=0;k<2+1;){
int num2=NumAleat(cima2);
if(!Encontrar(repetido2,cima2+1,num2)){
if(num2!=0){
cout<<seleccion[k]<<preguntas[num][num2]<<endl;
}
*comienzo2=num2;
k++;
comienzo2++;
}
}
*comienzo=num;
j++;
comienzo++;
}
}
}
cout<<endl;
system("pause");
return 0;
}
int NumAleat(int n){
srand(time(0));
return rand()%(n+1);
}
bool Encontrar(int* z, int cima, int m) {
bool esta=false;
for(int i=0;i<cima && !esta;i++)
if(z[i]==m) esta=true;
return esta;
}