Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct{
- char nome[31];
- int diversao;
- int aborrecimento;
- }brinquedo;
- int main(){
- char nome_atracao[41];
- int curticao[10]; //armazenar as curtições que o cara pode ter no parque
- int contador = 0;
- /*ele pode ir 3 vezes no mesmo brinquedo (3 formas ao todo), ir em 2 brinquedos (3 formas ao todo) e repetindo um deles (2 formas), ir 1 vez em casa brinquedo (1 forma)*/
- //tudo só vai se repetir 3 vezes
- brinquedo parque[3]; //brinquedos do parque de diversão;
- for(int i = 0; i < 3; i++){
- scanf(" %[^\n] %d %d", parque[i].nome, &parque[i].diversao, &parque[i].aborrecimento);
- //scanf(" %d %d", &parque[i].diversao, &parque[i].aborrecimento); //lendo os valores de diversão e chatice de cada brinquedo
- }
- for(int j = 0; j < 3; j++){
- int alegria = 0 ;
- for(int i = 0 ; i < 3 ; i++){
- alegria += parque[j].diversao - (i)*(i)*parque[j].aborrecimento; //para os casos em que vai 3 vezes em cada brinquedo
- }
- curticao[j] = alegria; //as primeiras 3 curtições são para o caso que o cidadão vai 3 vezes no mesmo brinquedo
- contador++;
- ////printf("\n%d", contador);
- }
- /*agora é a parte muito chata que ele vai uma vez em 1 e 2 vezes em outro*/
- /*0, 0, 1 -> 2 vezes no primeiro, 1 vez no segundo*/
- int cont = 0;
- for(int i = 0 ; i < 2; i++){
- cont += parque[0].diversao - parque[0].aborrecimento*i*i;
- }
- curticao[contador] = cont + parque[1].diversao;
- contador++;
- ////printf("\n%d", contador);
- /*0, 0 , 2 -> 2 vezes no primeiro, 1 vez no terceiro*/
- cont = 0;
- for(int i = 0; i < 2; i++){
- cont += parque[0].diversao - parque[0].aborrecimento*i*i;
- }
- curticao[contador] = cont + parque[2].diversao;
- contador++;
- ////printf("\n%d", contador);
- /*0, 1, 1 -> 2 vezes no segundo, 1 vez no primeiro*/
- cont = 0;
- for(int i = 0; i < 2; i++){
- cont += parque[1].diversao - parque[1].aborrecimento*i*i;
- }
- curticao[contador] = cont + parque[0].diversao;
- contador++;
- //printf("\n%d", contador);
- /*1, 1, 2 -> 2 vezes no segundo, 1 vez no terceiro*/
- cont = 0;
- for(int i = 0; i < 2; i++){
- cont += parque[1].diversao - parque[1].aborrecimento*i*i;
- }
- curticao[contador] = cont + parque[2].diversao;
- contador++;
- //printf("\n%d", contador);
- /*0, 2, 2 -> 2 vezes no terceiro, 1 vez no primeiro*/
- cont = 0;
- for(int i = 0; i < 2; i++){
- cont += parque[2].diversao - parque[2].aborrecimento*i*i;
- }
- curticao[contador] = cont + parque[0].diversao;
- contador++;
- //printf("\n%d", contador);
- /*1, 2, 2 -> 2 vezes no terceiro, 1 vez no segundo*/
- cont = 0;
- for(int i = 0; i < 2; i++){
- cont += parque[2].diversao - parque[2].aborrecimento*i*i;
- }
- curticao[contador] = cont + parque[1].diversao;
- contador++;
- //printf("\n%d", contador);
- for(int i = 0; i < 3 ; i++){
- curticao[contador] += parque[i].diversao; /*a vez que ele vai uma vez em cada*/
- }
- contador++; /*só depois ele itera*/
- //printf("\n%d", contador);
- // for(int i = 0 ; i < contador ; i++){
- // printf("\n%d", curticao[i]);
- // }
- /*agora é ver os empates, os 3 primeiros só empatam se as diversoes e chatices forem iguais*/
- int min_index = 0;
- int min_value = curticao[0];
- for(int i = 1; i < contador; i++) {
- if (curticao[i] > min_value || (curticao[i] == min_value && i < min_index)) {
- min_value = curticao[i];
- min_index = i;
- }
- }
- printf("\na maior diversao foi: %d\n", min_value);
- if(min_index == 0) printf("indo nos brinquedos: %s 3 vezes.", parque[0].nome); /*3 vezes no primeiro input*/
- if(min_index == 1) printf("indo nos brinquedos: %s 3 vezes.", parque[1].nome); /*3 vezes no segundo input*/
- if(min_index == 2) printf("indo nos brinquedos: %s 3 vezes.", parque[2].nome); /*3 vezes no terceiro input*/
- if(min_index == 3) printf("indo nos brinquedos: %s 2 vezes, %s 1 vez.", parque[0].nome, parque[1].nome); /*0, 0, 1 -> 2 vezes no primeiro, 1 vez no segundo*/
- if(min_index == 4) printf("indo nos brinquedos: %s 2 vezes, %s 1 vez.", parque[0].nome, parque[2].nome); /*0, 0 , 2 -> 2 vezes no primeiro, 1 vez no terceiro*/
- if(min_index == 5) printf("indo nos brinquedos: %s 2 vezes, %s 1 vez.", parque[1].nome, parque[0].nome); /*0, 1, 1 -> 2 vezes no segundo, 1 vez no primeiro*/
- if(min_index == 6) printf("indo nos brinquedos: %s 2 vezes, %s 1 vez.", parque[1].nome, parque[2].nome); /*1, 1, 2 -> 2 vezes no segundo, 1 vez no terceiro*/
- if(min_index == 7) printf("indo nos brinquedos: %s 2 vezes, %s 1 vez.", parque[2].nome, parque[0].nome); /*0, 2, 2 -> 2 vezes no terceiro, 1 vez no primeiro*/
- if(min_index == 8) printf("indo nos brinquedos: %s 2 vezes, %s 1 vez.", parque[2].nome, parque[1].nome); /*1, 2, 2 -> 2 vezes no terceiro, 1 vez no segundo*/
- if(min_index == 9) printf("indo nos brinquedos: %s 1 vez, %s 1 vez, %s 1 vez.", parque[0].nome, parque[1].nome, parque[2].nome); /*foi uma vez em cada*/
- return 0;
- }
Add Comment
Please, Sign In to add comment