Buscar

Aula 06 4 - Prática - Vetores final

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

Continue navegando