that_one_nigga_you_k

lista de struc 4

Jul 17th, 2023
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main() {
  5.     int sortudos, possiveis;
  6.     float x;
  7.  
  8.     printf("Diga a quantidade de filhos que você quer adotar: ");
  9.     scanf("%d", &sortudos);
  10.     printf("Diga a quantidade de crianças disponíveis: ");
  11.     scanf("%d", &possiveis);
  12.     printf("Digite o número mágico: ");
  13.     scanf("%f", &x);
  14.  
  15.     getchar();
  16.  
  17.     char nomes[possiveis][50];
  18.     char adotados[sortudos][50];
  19.     float alturas[possiveis];
  20.     int idades[possiveis];
  21.  
  22.     for (int i = 0; i < possiveis; i++) {
  23.         printf("\nDigite o nome, idade e altura da criança %d: ", i + 1);
  24.         scanf("%s %d %f", nomes[i], &idades[i], &alturas[i]);
  25.     }
  26.  
  27.     //printf("%.2f %s\n", alturas[0], nomes[0]);
  28.    
  29.     float dif[possiveis], tag[sortudos];
  30.     float min[sortudos];
  31.    
  32.     int escolhido = 0;
  33.    
  34.     for(int i = 0 ; i<sortudos ; i++){
  35.         min[i] = 100000;
  36.     }
  37.    
  38.     for(int i = 0 ; i < possiveis && escolhido<sortudos ; i++){
  39.        
  40.         tag[i] = strlen(nomes[i])*alturas[i]*idades[i];
  41.         dif[i] = x - tag[i];
  42.        
  43.         if(dif[i] < 0) dif[i] = dif[i]*(-1);
  44.     }
  45.    
  46.     int ind[sortudos];
  47.    
  48.     for(int i = 0 ; i < sortudos ; i ++){
  49.         for(int j = 0 ; j < possiveis ; j++){
  50.             if(ind[j] == j){
  51.                 continue;
  52.             }
  53.             else{
  54.                 if(dif[j]<min[i]){
  55.                     min[i] = dif[j];
  56.                     strcpy(adotados[i], nomes[j]);
  57.                     ind[j] = j;
  58.                 }
  59.             }
  60.         }
  61.     }
  62.    
  63.      for(int i = 0 ; i < sortudos ; i ++){
  64.         printf("\nos minimos: %f, %s", min[i], adotados[i]);
  65.      }
  66.  
  67.     return 0;
  68. }
  69.  
Add Comment
Please, Sign In to add comment