Buscar

Prova de algoritmos (UFJF), ano 2016, primeiro semestre

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

PROVA DE 2016 ALGORITMOS
1)
2)
#define N 3
int main()
{
 int m[N][N];
 int i, j, idxImpar=-1 ,idx2=-1, idx3=-1;
 int aux;
 printf("Preencha a matriz: \n");
 for(i=0 ; i<N ; i++){
 for(j=0 ; j<N ; j++){
 scanf("%d", &m[i][j]);
 }
 printf("\n");
 }
 for(j=0 ; j<N ; j++){
 if(m[0][j]%2 != 0){
 idxImpar = j;
 break;
 }
 }
 if(idxImpar == -1)
 printf("\nNenhuma troca foi realizado.\n");
 else {
 for(i=(N-1) ; i>=0 ; i--){
 for(j=(N-1) ; j>=0 ; j--){
 if((i+j) == (N-1)){
 if(m[i][j]%2 == 0){
 idx2 = i;
 idx3 = j;
 }
 }
 }
 }
 if(idx3 == -1)
 printf("\nNenhuma troca foi realizado.\n");
 else{
 aux = m[0][idxImpar];
 m[0][idxImpar] = m[idx2][idx3];
 m[idx2][idx3] = aux;
 }
 }
 printf("\nNova Matriz: \n");
 for(i=0 ; i<N ; i++){
 for(j=0 ; j<N ; j++){
 printf("%3d ", m[i][j]);
 }
 printf("\n");
 }
 return 0;
}
3)
typedef struct est_Equipe {
 char nome[101], estado[3];
 float salarioJogadores[3];
}Equipe;
int retorna_indice (Equipe e[], int tam)
{
 int i, j, indice = 0;
 float salariototal = 0, salariototalmaior = -1;
 for (i=0; i<tam; i++)
 {
 salariototal = 0;
 if (e[i].estado == 'MG')
 {
 for (j=0; j<4; j++)
 {
 salariototal = salariototal + e[i].salarioJogadores[j];
 }
 }
 if (salariototalmaior < salariototal)
 {
 salariototalmaior = salariototal;
 indice = i;
 }
 }
 return indice;
}
int main ()
{
 Equipe eq[20];
 int i, tam, j;
 printf("LEITURA DOS DADOS DA ESTRUTURA EQUIPE: \n");
 printf("Digite quantas equipes serao analisadas: \n");
 scanf("%d", &tam);
 for (i=0; i<tam; i++)
 {
 printf("Digite o estado da equipe em SIGLA: \n");
 fflush(stdin);
 gets(eq[i].estado);
 printf("Digite o nome da equipe: \n");
 fflush(stdin);
 gets(eq[i].nome);
 printf("Digite os salarios dos jogadores: \n");
 for (j=0; j<4; j++)
 {
 scanf("%f%*c", &eq[i].salarioJogadores[j]);
 }
 }
 printf("A equipe mineira com o maior salario foi: \n");
 puts(eq[retorna_indice(eq, tam)].nome);
 return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando