#include #include #include #include #define MAX_ALUNOS 3 #define MAX_LETRAS 40 typedef struct aluno { char nome[MAX_LETRAS+1]; int idade; } Aluno; void mostraVetorPtrPtr(Aluno **ptr, int n) { int i; for (i=0; inome, ptr[i]->idade); } void mostraVetor(Aluno *ptr, int n) { int i; for (i=0; inome, ""); aluno[i]->idade=0; } } Aluno **inicializa3(int n) { int i; Aluno **aluno = (Aluno **) malloc(n*sizeof(Aluno *)); for (i = 0 ; i < n; i++) { aluno[i] = (Aluno *) malloc(sizeof(Aluno)); strcpy(aluno[i]->nome, ""); aluno[i]->idade=0; } return aluno; } PreencheIdade1 (Aluno *ptr, int n, int idadeInicial, int idadeFinal) { int i; for(i=0; iidade=(rand()%(idadeFinal-idadeInicial+1))+idadeInicial; } PreencheNome1(Aluno *ptr, int n, int max_letras) { int i, j; char letra; for(i=0; inome[j] = letra; } ptr[i]->nome[j]='\0'; } } void main (void) { srand(time(NULL)); Aluno vetAluno1[MAX_ALUNOS]; inicializa1(vetAluno1, MAX_ALUNOS); PreencheIdade1 (vetAluno1, MAX_ALUNOS,11,30); PreencheNome1(vetAluno1, MAX_ALUNOS, MAX_LETRAS); mostraVetor(vetAluno1, MAX_ALUNOS); Aluno *vetAluno2[MAX_ALUNOS]; inicializa2(vetAluno2, MAX_ALUNOS); PreencheIdade2(vetAluno2, MAX_ALUNOS, 11, 30); PreencheNome2(vetAluno2, MAX_ALUNOS, MAX_LETRAS); mostraVetorPtrPtr(vetAluno2, MAX_ALUNOS); Aluno **vetAluno3; vetAluno3 = inicializa3(MAX_ALUNOS); PreencheIdade2(vetAluno3, MAX_ALUNOS, 11, 30); PreencheNome2(vetAluno3, MAX_ALUNOS, MAX_LETRAS); mostraVetorPtrPtr(vetAluno3, MAX_ALUNOS); }