Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    Uno l'ho fatto (quello die 100 numeri).
    Ecco il codice:

    import javax.swing.JOptionPane; // importa la classe JOptionPane

    public class PosMaxInt {

    public static int posMax(int [] array, int quanti) {
    int [] tmpMax = new int[2];
    tmpMax[0] = array[0];
    tmpMax[1] = 0;
    for (int t=0; t<quanti; t++) {
    if (array[t] > tmpMax[0]) {
    tmpMax[0] = array[t];
    tmpMax[1] = t;
    }
    }
    return tmpMax[1];
    }

    public static void main(String [] args) {

    int val;
    int [] numeri;

    String valore = JOptionPane.showInputDialog(
    "Quanti valori vuoi leggere: " );

    val = Integer.parseInt(valore);
    numeri = new int[val];
    for (int i=0; i<val; i++) {
    valore = JOptionPane.showInputDialog(
    "Introdurre il "+(i+1)+"° valore: " );

    numeri[i] = Integer.parseInt(valore);
    }


    JOptionPane.showMessageDialog(
    null, "La posizione del valore massimo è: " +posMax (numeri, val), "Posizione valore massimo",
    JOptionPane.PLAIN_MESSAGE );

    System.exit( 0 );
    }
    }




    Fatto così da la posizione reale nell'array, mentre se si vuole la posizione dell'elemento basta sostituire

    --> null, "La posizione del valore massimo è: " +posMax (numeri, val), "Posizione valore massimo",

    con

    --> null, "La posizione del valore massimo è: " +((posMax (numeri, val))+1), "Posizione valore massimo",


    Ti ringrazio tantissimo. Più tardi provo a modificare anche l'altro, se hai consigli fatti vivo. Ancora Grazie.

  2. #12
    Ecco il secondo:


    import javax.swing.JOptionPane;

    public class SommaNPrimi {


    public static boolean primo(int val) {
    boolean risultato = true;

    if ( (val == 1) || (val == 2) )
    risultato = true;
    else {
    int k=2;
    while (risultato && (k<val)) {
    if ((val%k) == 0)
    risultato = false;
    k++;
    }
    }
    return risultato;
    }



    public static int sommaPrimiValori(int valore, int numero) {
    int tmp = valore;
    if (numero == 0)
    tmp = 0;
    else {
    if (primo(valore))
    tmp = tmp + sommaPrimiValori( (valore+1), (numero - 1) );
    else
    tmp = sommaPrimiValori( (valore+1), numero );
    }
    return tmp;
    }


    public static int sommaPrimi(int numero) { return sommaPrimiValori(1, numero); }


    public static void main(String [] args) {
    int val;
    String valore = JOptionPane.showInputDialog("Introdurre un valore: " );

    val = Integer.parseInt(valore);
    JOptionPane.showMessageDialog(
    null, "La somma dei primi "+val+" numeri primi è: "+sommaPrimi(val), "Somma N numeri primi",
    JOptionPane.PLAIN_MESSAGE );

    System.exit( 0 );
    }
    }



    Infinitamente grazie.

  3. #13
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ma non c'è di che.
    Anche noi utilizzavamo una classe preconfezionata per l'input da tastiera (non ci avevano insegnato il JOptionPane), quindi, capisco la tua perplessità di fronte al codice che ti avevo postato.
    Se hai risolto, comunque, va bene così.


    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. #14
    Pensandoci bene, c'è un problema! Nel programmino dell'array con 100 elementi, se ci sono due elementi con lo stesso valore il programma funziona ma ritorna la posizione dell'elemento con valore massimo inserito per primo. Hai qualche soluzione?

  5. #15
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Beh... se ci sono valori doppi, ti ritorna il primo, è vero. In questo caso cosa diceva la consegna? Ti deve restituire tutti gli indici degli elementi massimi? L'ultimo?
    "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

  6. #16
    No, nella traccia non era richiesto altro, era solo una mia riflessione.
    Magari provo a fare qualche modifica ma quasi sicuramente lo presento così. Può essere così st****o da chiedermi ciò?

  7. #17

    Re: [JAVA] auito per esame di laboratorio

    Originariamente inviato da zioferro
    Urgentissimo! Ho pochi giorni di tempo per fare e presentare questi due programmini per l'esame di informatica. Se c'è qualcuno che possa aiutarmi lo prego, non esiti.
    Queste sono le due tracce:

    1) costruire una soluzione ricorsiva per il calcolo della sommatoria dei primi N numeri primi e descrivere i record di attivazione che verrebbero generati in occorrenza delle invocazioni del metodo sviluppato nel caso di N = 4.

    2)sviluppare un’applicazione Java che, usando dove opportuno la nozione di metodo, legga da tastiera una sequenza di numeri interi, la memorizzi in un array, cerchi il massimo e visualizzi sullo schermo la posizione di tale numero all’interno dell’array.


    Vi prego aiutatemi!!!
    scommetto che sei dell'Università di Milano...precisamente del DSI o del DICO....
    0m4r
    http://omar.adobati.it

  8. #18
    sapresti indovinare anche il prof.?

  9. #19
    Originariamente inviato da zioferro
    sapresti indovinare anche il prof.?
    certamente!
    0m4r
    http://omar.adobati.it

  10. #20
    Originariamente inviato da Omar81
    certamente!
    Da qui si capisce che ci sei passato anche tu da lui

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.