Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Calcolare mcm e MCD

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    143

    Calcolare mcm e MCD e sostituire valori array

    Ciao, vorrei creare due programmini:
    uno che mi calcoli il minimo comune multiplo e il massimo comune divisore tra due numeri inseriti dall'utente.
    Ho provato ma non ci riesco..posto il pezzo di codice che ho scritto..sono alle prime armi quindi avrò fatto un sacco di errori -.-


    codice:
    import java.util.Scanner;
    public class MinComMult {
    	public static void main (String[] args) {
    	Scanner tastiera = new Scanner (System.in);
    	
    	int a, b;
    	int mcm;
    	int mcd;
    	int r;
    	
    	System.out.print("Inserisci un numero intero: ");
    	a = tastiera.nextInt();
    	
    	System.out.print("Inserisci un secondo numero intero: ");
    	b = tastiera.nextInt();
    	
    	if (b==0) {
    		mcd = a;
    		System.out.println("Il MCD tra " +a+ " e " +b+ " e' " +mcd);
    	}
    	else {
    		r = a%b;
    		while (r!=0) {
    			r = a%b;
    			a = b;
    			b = r;
    		}//while
    		mcd = b;
    		System.out.println("Il MCD tra " +a+ " e " +b+ " e' " +mcd);
    	}//else
    	
    	if (a==0 && b==0) {
    		mcm = 0;
    		System.out.println("L'mcm tra " +a+ " e " +b+ " e' " +mcm);
    	}
    	else
    		mcm = (a*b)/mcd;
    		if (mcd==0)
    			System.out.println("L'MCD e' uguale a zero e non è possibile dividere " +a+ "*" +b+ " per zero");
    
    	}
    }
    e un altro che chiede all'utente la lunghezza dell'array e i valori da inserire e poi gli chieda quale valore sostituire e con cosa..
    non mi viene nemmeno questo

    codice:
    import java.util.Scanner;
    public class SostituisciValori {
    	public static void main (String[] args) {
    	Scanner tastiera = new Scanner (System.in);
    	
    	int x;
    	int n;
    	int m;
    	
    	System.out.println("Quanto vuoi che sia lungo l'array?");
    	x = tastiera.nextInt();
    	
    	int[] a = new int[x];
    	
    	for (int i=0; i<x; i++) {
    		System.out.println("Inserisci l'elemento n." +i+ " dell'array: ");
    		a[i] = tastiera.nextInt();
    	}
    	
    	for (int i=0; i<x; i++) {
    		System.out.println("L'elemento n." +i+ " dell'array e': " + a[i]);
    	}
    	
    	System.out.println();
    	
    	System.out.println("Scrivi un numero che hai gia' inserito nell'array");
    	n = tastiera.nextInt();
    	
    	System.out.println("con cosa vuoi sostituire " +n + "?");
    	m = tastiera.nextInt();
    	
    	
    	for (int i=0; i<x; i++) {
    		if (a[i] == 'n') {
    			a[i] = 'm';
    			System.out.print(a[i] + " ");
    		}
    	}
    	
    
    	}
    }
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Calcolare mcm e MCD e sostituire valori array

    Originariamente inviato da vfldj
    codice:
    	for (int i=0; i<x; i++) {
    		if (a[i] == 'n') {
    			a[i] = 'm';
    			System.out.print(a[i] + " ");
    		}
    	}
    n e m sono variabili di tipo intero. 'n' e 'm' non sono variabili ma due caratteri.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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

    Moderazione

    Devi spiegare quali sono gli errori e dove si verificano, poiché non è corretto costringere gli utenti che vogliono darti una mano a copiare e incollare il codice e a compilarlo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    143

    Re: Moderazione

    Originariamente inviato da alka
    Devi spiegare quali sono gli errori e dove si verificano, poiché non è corretto costringere gli utenti che vogliono darti una mano a copiare e incollare il codice e a compilarlo.
    Va bene, scusami.

    codice:
    import java.util.Scanner;
    public class MinComMult {
    	public static void main (String[] args) {
    	Scanner tastiera = new Scanner (System.in);
    	
    	int a, b;
    	int mcm;
    	int mcd;
    	int r;
    	
    	System.out.print("Inserisci un numero intero: ");
    	a = tastiera.nextInt();
    	
    	System.out.print("Inserisci un secondo numero intero: ");
    	b = tastiera.nextInt();
    	
    	if (b==0) {
    		mcd = a;
    		System.out.println("Il MCD tra " +a+ " e " +b+ " e' " +mcd);
    	}
    	else {
    		r = a%b;
    		while (r!=0) {
    			r = a%b;
    			a = b;
    			b = r;
    		}//while
    		mcd = b;
    		System.out.println("Il MCD tra " +a+ " e " +b+ " e' " +mcd);
    	}//else
    	
    	if (a==0 && b==0) {
    		mcm = 0;
    		System.out.println("L'mcm tra " +a+ " e " +b+ " e' " +mcm);
    	}
    	else
    		mcm = (a*b)/mcd;
    		if (mcd==0)
    			System.out.println("L'MCD e' uguale a zero e non è possibile dividere " +a+ "*" +b+ " per zero");
    
    	}
    }
    Es.
    "Inserisci un numero intero: 2
    Inserisci un secondo numero intero: 3
    Il MCD tra 1 e 0 e' 0
    Exception in thread "main" java.lang.ArithmeticE at MinComMult.main(MinComMult.java:51)"
    Ovviamente è sbagliato.


    codice:
    import java.util.Scanner;
    public class SostituisciValori {
    	public static void main (String[] args) {
    	Scanner tastiera = new Scanner (System.in);
    	
    	int x;
    	int n;
    	int m;
    	
    	System.out.println("Quanto vuoi che sia lungo l'array?");
    	x = tastiera.nextInt();
    	
    	int[] a = new int[x];
    	
    	for (int i=0; i<x; i++) {
    		System.out.println("Inserisci l'elemento n." +i+ " dell'array: ");
    		a[i] = tastiera.nextInt();
    	}
    	
    	for (int i=0; i<x; i++) {
    		System.out.println("L'elemento n." +i+ " dell'array e': " + a[i]);
    	}
    	
    	System.out.println();
    	
    	System.out.println("Scrivi un numero che hai gia' inserito nell'array");
    	n = tastiera.nextInt();
    	
    	System.out.println("con cosa vuoi sostituire " +n + "?");
    	m = tastiera.nextInt();
    	
    	
    	for (int i=0; i<x; i++) {
    		if (a[i] == 'n') {
    			a[i] = 'm';
    			System.out.print(a[i] + " ");
    		}
    	}
    	
    
    	}
    }
    Questo funziona nel senso che non mi da errori ma alla fine non mi restituisce l'intero array con un valore cambiato ma solamente il valore sostituito.
    Es. inserisco un array lungo 3 costituito dai valori 1 2 3. Mi chiede di sostituire un valore e con cosa e gli dico di sotuituire il 2 con il 4 e mi restutuisce 4 invece che 1 4 3.

    Comunque grazie Alex'87

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.