Sou programador iniciante e preciso fazer um programa por hobby(Ou seja nada serio para empresas ou coisa do tipo),quero fazer para aprender a programar,o programa tem que armazenar 5 valores diferentes digitados pelo usuário e dizer no printf do C qual é o maior e menor número,abaixo está o que eu já fiz:
#include <stdio.h>
int main (){
int valor[5];
int conta;
for (conta=0;conta<5;conta++){//usuário digita 5 numeros
printf("Insira um dado:\n");
scanf("%d",&valor[conta]);
}
printf("Dados inseridos:\n");//informa os 5 dados inseridos
for (conta=0;conta<5;conta++){
printf("%d",valor[conta]);
}
Sou um programador iniciante com dificuldade para entender devido a síndrome de noonan,ou seja eu demoro para cair a ficha,escolhi a linguagem C por ser uma linguagem mais complexa para se aprender,dizem que se eu aprender linguagem C,terei mais facilidade em aprender outras linguagens como Python por exemplo ou alguma linguagem baseada em C.
Alguém pode me ajudar a terminar o programa? ou devo fazer isso por conta própria? o que é melhor para mim que sou iniciante em programação e tenho dificuldade para entender e dificuldade de aprendizado.
Nehum motivo especial para criar conta no guj,é que as vezes eu esqueço a senha,mas se quiser deletar as outras contas pode deletar,fiz curso de logica em programação com o pascalzinho,me lembro que a gente mexia no programa turbo pascal 7,e depois fomos estudar o Delphi 7 da borland.
Bacana, então tenta escrever o programa para ler 5 números e dizer qual é o maior e qual é o menor.
Tenta escrever em portugol mesmo, não em C, acredito que seu problema não é a linguagem e sim a lógica.
Eu posso fazer o programa para dizer qual é o maior e qual é o menor,trabalhando com IF e Else,mas vai ficar muito grande o programa,e o outro jeito é fazer com vetores,estou certo?
seria if maiorvalor e if menorvalor? Eu não tenho noção nem no que faço em logica de programação,pois eu demoro para cair a ficha,pois tenho dificuldade para entender,a ficha ainda não caiu,alguém diz se estou no caminho certo?
É por aí, pra cada elemento vc faz if (elemento > maior) maior = elemento (e o mesmo para o menor, claro que trocando o operador por <). Vc chegou a pesquisar? Sério, no Google vc acha esse algoritmo rapidinho. Se vc não faz ideia de como resolver, talvez vendo a solução te ajude a entender melhor.
Agora, sendo bem sincero, se vc não consegue nem imaginar como fazer, é melhor estudar primeiro lógica e algoritmos básicos, como já sugerido.
Estou estudando no YouTube linguagem C,o nome do Professor é Pietro Martins de Oliveira,não fiz todas as aulas do curso ainda,tá ok,estou aprendendo aos poucos.
Vc tem que pensar em como faria um programa para determinar o maior e o menor. No caso, poderia ser:
ler o primeiro: 123 → esse é o maior e o menor encontrado até o momento
próximo: 456 → é maior que 123, então o maior até o momento é 456, mas não é menor que 123 então o menor até o momento é 123
próximo: 7 → não é maior que 456, então o maior até o momento é 456, e é menor que 123 então o menor até o momento é 7
próximo: 89 → não é maior que 456, então o maior até o momento é 456, e não é menor que 7 então o menor até o momento é 7
próximo: 101 → não é maior que 456, então o maior até o momento é 456, e não é menor que 7 então o menor até o momento é 7
Resultado: o menor é 7 e o maior é 456
Agora pense em como vc traduziria isso pra código. É basicamente um loop com duas comparações.
De novo: se vc não conseguiu imaginar a solução desta forma, é porque ainda não está conseguindo pensar de forma algorítmica. Daí insisto que deveria voltar alguns passos e focar nos estudos de lógica e algoritmos básicos.
[…] me ajudar a terminar o programa?
— Suponho que sim, mas para expressar uma solução, precisarás antes; compreender/entender os operadores relacionais, especificamente maior que (>) e/ou menor que (<), também (o obvio) operador da atribuição (=), e por último, a/uma declaração/instrução condicional, neste caso if-else.
[…] fazer isso por conta própria?
— Sim, independente do tempo necessário: pense, escreva e repita até expressar tua solução!
As linguagens de programação são apontadas por muito como sendo uma maneira para expressar uma solução no sistema -ou seja- a solução independe duma linguagem.
Se é verdade que uma solução independe duma linguagem, então uma solução existe, inicialmente, no pensamento.
*** Logo, sugiro que essa solução no pensamento seja externada por meio de algoritmo, e depois, passa-se à linguagem C: existem três métodos principais para a construção de algoritmos; descrição narrativa, fluxograma e pseudocódigo. Tenho minha predileção no primeiro dos três métodos.
[…] sou iniciante em programação e tenho dificuldade para entender e dificuldade de aprendizado.
— Dizem que uma solução para esse perfil é a repetição com intervalos em dias: pense a compreensão sendo semelhante uma trilha no meio da grama crivada por muitos passos no mesmo lugar. Assim que suponho que vossa aprendizagem.
— Passe pelo mesmo lugar (repita com intervalos), varias-varias-vezes, e talvez, a cada circuito, um novo dado será compreendido.
Porque o resultado do maior ou do menor as vezes dá resultado errado,como faço para corrigir o problema?
Esse programa não está rodando no codeblocks:
#include <stdio.h>
int main() {
int valores[5], maior, menor;
// Inicializa as variáveis
maior = -99999999;
menor = 99999999;
// Recebe os valores do usuário
for (int i = 0; i < 5; i++) {
printf("Digite o %dº valor: ", i + 1);
scanf("%d", &valores[i]);
// Atualiza as variáveis de maior e menor valor
if (valores[i] > maior) {
maior = valores[i];
} else if (valores[i] < menor) {
menor = valores[i];
}
}
// Imprime o maior e menor valor
printf("O maior valor é %d.\n", maior);
printf("O menor valor é %d.\n", menor);
return 0;
}
— Olá, boa-noite!
Aparentemente a expressão é quase essa, porém, para mim, faltou 1 detalhe.
O que acontece na prática?
Escolhemos um número, a referência, assumimos que essa primeira escolha é o maior e menor número, logicamente, porque imaginamos uma lista unitária (que há 1 item). Logo depois notamos haver mais números:
Exemplo:
[1 2 3 4 5 6 7 8 9]
a referência é número 1, então inicialmente o maior e o menor são iguais a 1, em seguida
Repete de 2 até 9: [2 3 4 5 6 7 8 9]
Pergunta: maior < 2? Sim, então maior será 2
Pergunta: menor > 2? Sim, então menor será 2