Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Array e ricorsione

  1. #1

    Array e ricorsione

    Ragazzi devo creare uno script per la somma del contenuto di un array.Deve essere inserito anche un numero che indica l'indice da cui si parte a contare.

    public class SommaArray {


    public static void main(String[] args) {
    int gra=Input.readInt("quanto grande l'array -->");
    int[] database= new int[gra];

    for( int j=0; j<database.length; j++) {database[j]=Input.readInt("Digita numero -->");}
    int pos=0;
    do{pos=Input.readInt("Da che posizione?");}while(pos<0);
    System.out.println("pos prima:" + pos);
    int som =0;
    som= somma(database,pos, som);
    System.out.println(som);
    }
    public static int somma(int[] arr, int pos, int som){
    System.out.println("pos dentro" + pos);

    if(pos ==arr.length -1)
    {
    som =som + arr[pos];
    }

    else
    {

    pos++;
    som =somma(arr,pos,som);
    System.out.println("pos:"+pos + " somma:"+ som );

    }


    return som;
    }
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Il codice sorgente va riportato usando il tag [CODE], come da Regolamento.

    Tienilo a mente per le discussioni che aprirai in futuro.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Prova così:

    codice:
    public static int somma(int[] arr, int pos) {
    	int som = 0;
    	if (pos < arr.length) {
    		som = arr[pos] + somma(arr, ++pos);
    	} 
    	return som;
    }
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    O anche così:

    codice:
    public static int somma(int[] arr, int pos) {
    	if (pos == arr.length) {
    		return 0;
    	} 
    	return arr[pos] + somma(arr, ++pos);
    }
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.