Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bl0wer

[Resolvido] Problema aparentemente simples

Recommended Posts

Bom, nao sei qual seria a condicao de parada para essa leitura indeterminada, mas a logica de determinar o maior e menor eh simples.

Acho q com isso voce consegue fazer um codigo.

 

inicio
{
   inteiro maior = 0
   inteiro menor = 0
   inteiro peso = 0;

   enquanto condicao de parada igual a falso
   {
	  leia um peso
	  se peso > maior
		 entao maior recebe peso
	  se peso < menor
		 entao menor recebe peso		
   }
   escreva maior peso
   escreva menor peso
}

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa , primeiramente vlw por responder.

 

Porém creio q você deve digitar o numero de pesos e os pesos respectivamente .

Caso consiga , espero resposta .

Obrigado novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao eh bem tranquilo

inicio

{

inteiro maior = 0

inteiro menor = 0

inteiro peso = 0;

inteiro repeticoes = 0

 

leia repeticoes // aqui o usuario digita quantos pesos ele quer digitar

 

para inteiro i = 0; enquanto i < repeticoes; i++ // um for

{

leia um peso

se peso > maior

entao maior recebe peso

se peso < menor

entao menor recebe peso

}

escreva maior peso

escreva menor peso

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq não escreve em C ? afinal o fórum de lógica é outro "/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema!!

 

se peso < menor

menor foi para 0, então só vai funcionar se o número digitado for negativo. O correto seria ou inicializar menor para um número grande, ou se menor for = 0 então definir menor para o número que foi digitado.

 

Groove: algumas pessoas não gostam de entregar o código pronto :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

E por isso mesmo Jose, mas ja que eh um codigo simples, acho q nao vai ter maiores probelmas postar ele. E eu reparei agora nesse problema do menor... entao uma primeira leitura fora do laco, soh para inicializar as variaveis com valores digitados.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
	int maior = 0;
	int menor = 0;
	int peso = 0;
	int repeticoes = 0;
	
	cout << "Digite quantos pesos quer digitar: ";
	cin >> repeticoes;
	cout << "Digite o peso: ";
	cin >> peso;
	maior = menor = peso;
	for(int i = 0; i < repeticoes-1; i++)
	{
		cout << "Digite o peso: ";
		cin >> peso;
		if (peso > maior ) 
		   maior = peso;
		if (peso < menor )
		   menor = peso;
	}
	
	cout << "maior peso foi: " << maior << endl;
	cout << "menor peso foi: " << menor << endl;
	
	
	
	system("PAUSE");
	return EXIT_SUCCESS;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Joao ?? hauehae e qual a diferença de postar em Portugol e C ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq c passar em portugol o codigo correto o cara vai ter q c esforcar em passar para alguma linguagem!

bom eu penso assim!

 

[]'s

 

---Título editado---

 

[AJUDA] Problema aparentemente simples http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Problema aparentemente simples

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha cara, pelo que vi você ja resolveu o problema, mais eu tive que fazer um que o usuario ia pondo varios numeros e qdo digitava -1 o programa terminava e dava o menor numero, o maior e a media, seria igual o teu e com media tb, se interessar ta ai o code:

#include <stdio.h>
#include <stdlib.h>
int main(){
	int num, maior, menor, cont, soma;
	float media;
	menor=0;
	maior=0;
	soma=0;
	cont=0;
	printf("Digite um numero: ");
	scanf("%d",&num);
	while(num != -1){
		cont++;
		if(cont==1){
			maior=num;
			menor=num;
		}
		if(num>maior){
			maior=num;
		}
		if(num<menor){
			menor=num;
		}
		soma=(soma+num);
		printf("Digite um numero: ");
		scanf("%d",&num);
	}
	media=(soma/cont);
	printf("\nMMaior numero: %d", maior);
	printf("\nMenor Numero: %d", menor);
	printf("\nMedia: %2.2f", media);
	printf("\n");
	system("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas , vlw por postar

Aqui está compilando normalmente , mas está pedindo para digitar a quantidade de pesos como no anterior(e não o esquema de digitar -1 como você falou) e na tela de execução aparece o seguinte erro :

 

 

--> " 'or' is not recognized as an internal or external command ..

 

--> "'menor' is not recognized as an internal or external command ..

 

o que pode ser ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei veio, ai digamos você vai pondo varios pesos e qdo você digitar -1 ele diz o maior, o menor e a media.

esse -1 você pode por outra coisa como "fim" nao sei se o programa seria oq você precisava, mais ta ai qualquer coisa da pra você mudar ele, mais se o outro funcionou use ele :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, fazendo um algoritmo que leia 3 numeros e apresente o maior e o menor. Compreendi a logica do pessoal. porem me resta uma duvida.

 

segue o algoritmo

 

var

maior, menor, n, i : inteiro

inicio

maior <- 0

menor <- 0

i <- 0

para i de 1 ate 3 passo 1 faca

leia (n)

se n > maior entao

maior <- n

fimse

se n < maior entao

menor <- n

fimse

fimpara

fimalgoritmo

 

 

Se realizarmos uns teste com os numero 5, 4, 3. Ele vai me apresentar o numero maior e menor correto. Mais se o primeiro valor a ser digitado for menor variavel MENOR nao vai receber ele, pois esta verificando se n < maior (Ex : 1, 2, 3 / ele so me apresenta o maior como 3 mais o menor é igual 0, pois no começo ele ja atribui 1 como variavel maior e a condição n < maior vai ser 0 ).

Minha duvida é em relaçao a isso, como consigo fazer ele verificar realmente o menor, nao importa a ordem de leitura.

 

No exemplo de vcs acima, voces atribuiram o valor 0 a variavel menor. O numero digitado nunca vai ser menor que 0 ou seja sempre vai apresentar o numero menor como 0, nunca o menor digitado.

 

Aguardo comentarios.

 

valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.