Visualizzazione dei risultati da 1 a 4 su 4

Discussione: java-array-min

  1. #1

    java-array-min

    salve a tutti, sono nuova nel forum e in java..avrei un disperato bisogno di aiuto.
    l'esercizio è:
    il programma determini il valore minimo di un insieme di numeri reali positivi.
    non si conosce in input la quantità dei valori da leggere. l'inserimento dei valori termina con la lettura di un valore negativo o nullo.

    dopo innumerevoli tentativi, ho prodotto questo ....ma non va
    aiuto!!!

    codice:
    package rmin;
    import java.util.Scanner;
    
    
    public class Rmin {
        public static void main(String[] args) {
            Scanner sc=new Scanner (System.in);
    
    
            double x;
    double min;     
            int n=0;
            int i;
            System.out.println("inserisci i valori");
            x=sc.nextDouble();
    
            double v[]=new double [n];
    
           while (x>0)
             n++;
    
           int pos=0;
           min = v[0];
          for (i =0;i<n;i++)
             if (v[i]<min)
               pos= i;
              v[i]=min;
    
              if (x<=0)
          System.out.println("il min e: "+ min );
    
        }
    }
    Ultima modifica di LeleFT; 30-01-2015 a 13:40 Motivo: Aggiunti i tag CODE

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    La prima cosa da imparare e' la differenza fra Java e JavaScript

    ti sposto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ci dici anche cosa c'è che non va?
    Errori in compilazione? Se sì, quali?
    Errori in esecuzione? Se sì, quali?
    Ottieni risultati sballati? Se sì, cosa ottieni e con che input?

    Così da facilitare a tutti la il compito, senza andare a caccia dell'errore sconosciuto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Attenta a questo parte del tuo codice:

    codice:
    System.out.println("inserisci i valori");
    x=sc.nextDouble();
    double v[]=new double [n];
    while (x>0)n++;
    Tu stai leggendo un solo valore da tastiera,dopodichè crei un vettore v[] di dimensione 0,perchè n l'hai definito sopra a 0 e non lo modifichi,infine entri nel while solo se x è maggiore di 0, ma se entri non esci più e il programma va avanti all'infinito perchè x non viene più modificato!

    La lettura dei valori quindi la devi fare dentro il ciclo e attenta alla definizione del vettore vuoto!!

    Ho guardato adesso il ciclo per trovare il minimo: hai fatto un bel casino dentro !
    Intanto spero che tu sappia che per eseguire più di una istruzione dentro a un ciclo o nella clausola if, devi inserire il blocco di istruzioni tra parentesi graffe!
    Inoltre dentro il primo if salvi nella variabile pos il valore del contatore ma poi pos non la usi(allora perchè quella riga?),e poi fai v[i]=min mentre tu hai bisogno di salvarti in min il valore minore (quindi devi fare il contrario: min=v[i]!).

    Riguarda bene il programma e poi se hai dubbi chiedi!
    Ultima modifica di Ansharja; 30-01-2015 a 13:56

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.