Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include <stdio.h> #include <string.h> int i, j, n, k = 0; struct material aux; struct material { char nome[25]; float preco; }; void ordemA(struct material vet[]) { for(i = 0; i < k; i++) { for(j = i + 1; j < k; j++) { if(strcasecmp(vet[j].nome, vet[i].nome) < 0) { aux = vet[i]; vet[i] = vet[j]; vet[j] = aux; } } } } void ordena(struct material vet[]) { for(i = 0; i < n; i++) { for(j = i + 1; j < n; j++) { if(vet[j].preco < vet[i].preco) { aux = vet[i]; vet[i] = vet[j]; vet[j] = aux; } } } } int main() { float din, gasto = 0; struct material mats[100]; struct material comprados[100]; scanf("%f", &din); scanf("%d", &n); for(i = 0; i < n; i++) { scanf(" %s %f", mats[i].nome, &mats[i].preco); } ordena(mats); for(i = 0; i < n; i++) { if((mats[i].preco + gasto) <= din) { gasto += mats[i].preco; comprados[k] = mats[i]; k++; } } printf("\n\n"); ordemA(comprados); for(i = 0; i < k; i++) { printf("%s %.2f\n", comprados[i].nome, comprados[i].preco); } printf("%.2f\n", din - gasto); return 0; }
Compartilhar