E ai galera? Tudo bem?
É o seguinte, estou com esse exercício aqui pra fazer:
Escreva um programa que leia um vetor real (use tipo de dado double) de tamanho 10 e
que a seguir escreva na tela quais são os 3 menores valores deste vetor. Você deve primeiro
ler todo o vetor para depois procurar os 3 menores valores.
Coloquei a palavrinha que está me "ferrando" em negrito.
Consegui escrever o programa todo usando inteiros (int), porém ao usar "double", o resultado dá totalmente errado!
O que eu tenho que fazer pra usar a variável double?
PS: Estou armazenando com "%f" quando tendo usar double.
Esse é o código com 'int', se alguém puder me ajudar, ficarei muito grato.
Ouvi falar sobre um tal de "casting", consegui aplicar isso em um outro exercício, mas fiz isso quando estava realizando operação, tipo: h=1+(1/(float)i);
Nesse programa, imagino que eu tenha que fazer a mesma coisa, mas não faço ideia de onde colocar o casting
CÓDIGO:
#include<stdio.h>#include<stdlib.h>int main (){int i;int m=3, x, aux;/* "I" é O CONTADOR -
E "M" é OS MENORES - MENORES-1-2 E 3 -
E "X" E "AUX" VARIAVEIS PARA ORGANIZAR*/int v[10];for(i=0; i <10; i++){
printf ("Digite v[%d]: ", i);
scanf ("%d",&v);}
printf ("O vetor organizado em ordem CRESCENTE fica da seguinte forma:\n");for(i =0; i <10;++i)/*ORGANIZEI VETOR PARA PEGAR AS 3 PRIMEIRAS POSIÇÕES DO VETOR, QUE SERAO OS 3 MENORES!*/{for(x=i+1; x <10; x++){if( v > v[x]){
aux=v;
v=v[x];
v[x]=aux;}}
printf ("%d\n", v);}
printf("Os 3 primeiros menores valores digitados são: \n");for(i =0; i < m;++i)/*M=3 OU SEJA, VOU PEGAR A POSIÇÃO 0,1,2 DO VETOR, QUE É ONDE ESTAO OS 3 MENORES VALORES*/{
printf ("%d\n", v);}
system ("pause");return0;}
Pergunta
princknoby
E ai galera? Tudo bem?
É o seguinte, estou com esse exercício aqui pra fazer:
Escreva um programa que leia um vetor real (use tipo de dado double) de tamanho 10 e
que a seguir escreva na tela quais são os 3 menores valores deste vetor. Você deve primeiro
ler todo o vetor para depois procurar os 3 menores valores.
Coloquei a palavrinha que está me "ferrando" em negrito.
Consegui escrever o programa todo usando inteiros (int), porém ao usar "double", o resultado dá totalmente errado!
O que eu tenho que fazer pra usar a variável double?
PS: Estou armazenando com "%f" quando tendo usar double.
Esse é o código com 'int', se alguém puder me ajudar, ficarei muito grato.
Ouvi falar sobre um tal de "casting", consegui aplicar isso em um outro exercício, mas fiz isso quando estava realizando operação, tipo: h=1+(1/(float)i);
Nesse programa, imagino que eu tenha que fazer a mesma coisa, mas não faço ideia de onde colocar o casting
CÓDIGO:
formatação
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.