Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Vetores Programação de Computadores I Universidade Federal de Ouro Preto 2 Laboratório Exercício 1 Uma floricultura gostaria de fazer um algoritmo que pudesse controlar sempre um estoque mínimo de determinadas plantas (numeradas de 0 a 14), pois todo os dias pela manhã, o dono faz novas aquisições. Criar um algoritmo para não deixar o estoque ficar abaixo do ideal. Para cada planta, o dono gostaria de cadastrar o estoque ideal, a quantidade em estoque e o valor de cada planta. Assim, o algoritmo pode calcular a quantidade que o dono da loja precisa comprar no próximo dia. Essa quantidade a ser comprada deve ser impressa como uma lista para o dono da floricultura, juntamente com o total gasto pelo dono. 3 Exercício 1 - Resposta #include <stdio.h> #include <stdlib.h> int main() { float valor[15],totalgasto=0; int estoque[15],min[15],i; for(i=0;i<15;i++){ printf("Digite a quantidade em estoque da planta %d: ",i+1); scanf("%d",&estoque[i]); printf("Digite o estoque minimo da planta %d: ",i+1); scanf("%d",&min[i]); printf("Digite a valor da planta %d:",i+1); scanf("%f",&valor[i]); } for(i=0;i<15;i++){ if ((min[i]-estoque[i])>0) { printf("\nSera necessario comprar %d plantas do tipo %d",(min[i]-estoque[i]),i+1); totalgasto=totalgasto+(min[i]-estoque[i])*valor[i]; } else printf("\nNao sera necessario adquirir plantas do tipo %d",i); } printf("\n O total gasto sera de R$%0.2f",totalgasto); return 0; } 4 Exercício 2 Escreva um programa que leia uma string de até 40 caracteres, armazene-a em um vetor e imprima a sua inversa na tela. 5 Exercício 2 - Resposta #include <stdio.h> #include <stdlib.h> int main() { int i; char nome[41]; printf("Digite uma string: "); gets(nome); for(i=0;nome[i]!='\0';i++);; while(i>=0){ printf("%c",nome[i]); i--; } return 0; } 6 Exercício 3 Crie uma função com a assinatura: int ordenado(int vetor[ ], int tamanho); que receba como parâmetros um vetor e seu tamanho e retorne: 1, se os valores no vetor estiverem em ordem decrescente; -1, se os valores no vetor estiverem em ordem crescente; 0, caso contrário . 7 Exercício 4 Implemente uma função que receba como parâmetro um array contendo valores {0,1}. Esta cadeia de dígitos representa um número binário. Sua função deve retornar o valor em decimal que aquela seqüência de números significa, ou seja, uma função que transforme um número binário para um número decimal. 8 Exercício 4 - Resposta #include <stdio.h> int bin_to_dec(int bin); // Protótipo da função // Para entender o programa, obviamente você precisa entender como transformar um numero binário em decial int main(void){ int dec=0, bin = 0; printf("Entre com um binario (0's e 1's): "); scanf("%d", &bin); dec = bin_to_dec(bin); printf("Bin = %d - Dec = %d\n", bin, dec); system("PAUSE"); return 0; } int bin_to_dec(int bin){ int total = 0, potenc = 1; while(bin > 0) { total = total+(bin % 10 * potenc); // soma o número com o valor * a potência bin = bin / 10; // Vai retirando os últimos elementos do numero binário potenc = potenc * 2; // Esta variável representa a potência: 1,2,4,8,16,32,64,128,256,512... } return total; } 9
Compartilhar