Esercizi Java C++
#include<iostream> using namespace std; /* Caricare, con inserimento da tastiera, in un array denominato NUMERI, N valori numerici (con N scelto dall'utente e massimo di 100). Successivamente il programma deve caricare un nuovo vettore (denominato FATT) contenente i rispettivi valori del fattoriale di ciascun numero. Successivamente visualizzare il contenuto dei due vettori. */ int carica_N_Numeri(int NUMERI[]); int fatt(int N); void carica_fattoriali(int FATT[], int N, int NUMERI[]); void print(int FATT[], int N, int NUMERI[]); /*costante che definisce la dimensione degli array FATT e NUMERI*/ const int DIM=100; /*funzione che chiede N numeri e riempie l'array, torna il numero di numeri */ int carica_N_Numeri(int NUMERI[]) { int N=101; int num; cout<<"Quanti numeri vuoi caricare ?\n "; /*loop che chiede finche l'utente immette un N <=100*/ while(N>100) { cout<<": "; cin>>N; } /*for che riempie l'array NUMERI */ for(int i=0;i<N;i++) { cout<<"N: "; cin>>num; NUMERI[i]=num; cout<<endl; } return N; } /*funzione fatt ricorsiva che calcola il fattoriale*/ int fatt(int N) { if(N==1) return 1; else return N*fatt(N-1); } /*funzione che carica i fattoriali di NUMERI in FATT*/ void carica_fattoriali(int FATT[], int N, int NUMERI[]) { for(int i=0;i<N;i++) { FATT[i]=fatt(NUMERI[i]); } } /*stampa entrambi gli array: NUMERI e FATT*/ void print(int FATT[], int N, int NUMERI[]) { cout<<"Il vettore NUMERI \212 :\n"; for(int i=0;i<N;i++) cout<<NUMERI[i]<<" "; cout<<endl; cout<<"Il vettore FATT \212 :\n"; for(int i=0;i<N;i++) cout<<FATT[i]<<" "; cout<<endl; } int main() { int NUMERI[DIM],FATT[DIM]; int N=carica_N_Numeri(NUMERI); carica_fattoriali(FATT, N, NUMERI); print(FATT, N, NUMERI); }
Lo stesso Esercizio risolto in Java
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package esercizio; import java.util.Scanner; /** * * @author aless */ public class Numeri { final int dim=100; private int n; private int[] NUMERI; private int[] FATT; private int fatt(int n) { if(n==1) return 1; else return n*fatt(n-1); } public Numeri() { NUMERI =new int[dim]; FATT = new int[dim]; Scanner inp =new Scanner(System.in); n=101; while(n>100) { inp=new Scanner(System.in); n=inp.nextInt(); } System.out.println("Immetti "+ n +" numeri"); Scanner input_numeri =new Scanner(System.in); for(int i=0;i<n;i++) { NUMERI[i]=input_numeri.nextInt(); } riempi(); } private void riempi() { for(int i=0;i<n;i++) { FATT[i]=fatt(NUMERI[i]); } } public void print() { System.out.println("Il vettore dei numeri è "); for(int i=0;i<n;i++) { System.out.print(NUMERI[i]+ " "); } System.out.println("\nIl vettore dei fattori è "); for(int i=0;i<n;i++) { System.out.print(FATT[i]+ " "); } } }
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package esercizio; /** * * @author aless */ public class Esercizio { /** * @param args the command line arguments */ public static void main(String[] args) { new Numeri().print(); } }