Oppure

Loading
13/08 10:44
fenice
Buongiorno ho fatto questo programma però non riesco a trovare il numero minore, perché la condizione secondo me è sbagliata.

Io ho scritto questo:
#include<stdio.h>
#include<conio.h>
#include<windows.h>
main()
{
	int n,min;
	while(n>0) {
		printf("Inserisci un numero\n");
		scanf("%d",&n);
		if(n>0&&(min=0||n<min))
			min=n;}
	printf("Il minimo e' %d\n", min);
	getch();
}


13/08 11:09
nessuno
int n=1, min=INT_MAX;

if(n>0 && n<min)
Ultima modifica effettuata da nessuno 13/08 11:37
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità;) chiamava il gioco del Lotto Tassa sulla stupidità.
13/08 15:03
fenice
Ho provato a scriverlo anche con il ciclo for però la condizione di uscita è sbagliata secondo me.

#include<stdio.h>
#include<conio.h>
#include<windows.h>
main()
{
	int n=1,min=INT_MAX;
	for(n=1;n<=0;n++)
	{	printf("Inserisci un numero\n");
		scanf("%d",&n);
		if(n>0&&n<min)
			min=n;}
	printf("Il minimo e' %d\n", min);
	getch();
}
13/08 15:06
Mikelius
Scusa, ma il numero minore rispetto a cosa?
"Io ne ho viste cose che voi umani non potreste immaginarvi...."
13/08 15:59
fenice
Trovare il numero più piccolo della sequenza
13/08 16:00
fenice
Trovare il numero più piccolo della sequenza
13/08 17:58
Mikelius
Sai quanto è lunga la sequenza?

Il for deve partire da 1 ed arrivare al Numero di elementi della sequenza, E COSA IMPORTANTE:
Se modifichi il contatore del for, non potrà mai funzionare.
Per il for usa un contatore diverso da n!
"Io ne ho viste cose che voi umani non potreste immaginarvi...."
13/08 19:47
AldoBaldo
Si può fare anche senza conoscere in anticipo la quantità delle immissioni, giusto con n e min come sta già facendo.

L'idea di preimpostare min con INT_MAX come ha detto nessuno funziona.

In alternativa, si può fare in modo che il primo valore immesso venga subito accettato come quello minimo (essendo il primo, non c'è ancora niente con cui confrontarlo) e copiato in min. Ai passaggi successivi si può fare min = n<min ? n : min; (che equivale a "if(n<min) min=n; else min=min;";).

Per uscire dal ciclo può essere comodo usare break quando si incontra n<=0 subito dopo l'immissione (prima di effettuare qualsiasi confronto con min).
Ma cosa vuoi che ne sappia? Io ci gioco, col codice, mica ci lavoro!