[ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore?

Stato
Discussione chiusa ad ulteriori risposte.

imported_TeGlider

Utente Electrum
6 Agosto 2007
43
33
0
100
[size=large] ESERCIZIO 1[/size]

Siano assegnati in ingresso il riempimento e gli elementi di un array di interi. Si scriva un
programma che, letto l’array in accordo a quanto specificato, fornisca il numero di elementi dispari
presenti nell’array.

[size=large]Esempio:[/size]
INPUT:
8 13 15 23 50 15 52 5
OUTPUT: Nell’array sono presenti 5 elementi dispari
_________________________________________________

ESERCIZIO SVOLTO:

PSEUDOCODICE:

Codice:
INIZIO
	LEGGI (n, contatore, i)
	
	n <- ("Quanto è grande il vettore? ") //Input
	
	contatore <- 0
	
	PER i <- 0 a n-1 ESEGUI
		V[i] = ("Inserisci un numero: ") //Input
		
		SE ((V[i] MOD 2) != 0) ALLORA
			contatore <- contatore + 1
		FINE SE
	FINE PER
	
	STAMPA ("Sono presenti ", contatore, " numeri dispari") //OUTPUT
FINE

VERIFICA PSEUDOCODICE

n | 3 2 1
contatore | 0 1 2
i | 0
V | 5 si 4 no 3 si

OUTPUT: Sono presenti 2 numeri dispari
_________________________________________________

JAVA

Codice:
class ArrayDispari
{
	public static void main (String Arg[])
	{
		Console term = new Console();
		int n, contatore, i;
		contatore = 0;

		n = term.leggiInt ("Quanto e' grande il vettore? ");
		int V[] = new int [n];

		for (i=0; i<n; i++)
		{
			V[i] = term.leggiInt ("Inserisci il numero: ");
			
			if ((V[i] % 2) != 0)
				contatore++;
		}

		System.out.println ("Sono presenti " + contatore + " numeri dispari");
	}
}

NOPASTE JAVA
http://nopaste.dk/p1538
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

Sezione errata, secondo me andrebbe in esercizi di programmazione.
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

volevo postarlo la però poi ho pensato che c'era l'esercizio svolto in java quindi... :)
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

1)sposto nella sezione esercizi di programmazione
2)il tuo programma non funziona
3)ecco la mia soluzione:
Codice:
import java.io.*;
class ArrayDispari{
    public static void main(String args[]){
        BufferedReader t=new BufferedReader(new InputStreamReader(System.in));
        try{
            System.out.println("Quanto e' grande il vettore? ");
            int n=Integer.parseInt(t.readLine());
            int V[]=new int[n];
            int cont=0;
            for (int i=0;i<n;i++){
                System.out.println("Inserisci il "+(cont+1)+"° numero: ");
                V[i]=Integer.parseInt(t.readLine());
                if ((V[i]%2)!=0){
                    cont++;
                }
            }
            System.out.println("Sono presenti "+cont+" numeri dispari");
        }catch(Exception e){}
    }
}
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

Non vorrei sminuire il tuo lavoro...in ogni caso penso che questo esercizio sia a dir poco banale, sicuramente ottimo per esercitarsi con i vettori!!:) Ho notato l'uso della classe Console() è una classe che hai creato!?
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

visto che è stata spostata posto al mia soluzione in c
http://sprunge.us/bVcc?c
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

AlexZ ha detto:
Non vorrei sminuire il tuo lavoro...in ogni caso penso che questo esercizio sia a dir poco banale, sicuramente ottimo per esercitarsi con i vettori!!:) Ho notato l'uso della classe Console() è una classe che hai creato!?

Scusatemi avete ragione non funziona l'esercizio perchè non ho postato la classe console...
Cmq è stata creata dal mio prof :)...

ECCOLA:
http://www.mediafire.com/download.php?jutxdizlmnt

Da una parte secondo me però ha sbagliato a farci abituare con la classe Console perchè se devo fare un programma senza questa classe non riesco a farlo...
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

Difficoltà media? :eek:

Codice:
use feature 'say';

sub getvar { chomp (my $var = <>); return $var;} 

say "Quant'è lungo il vettore?";
my $len = getvar();
my $count = 0;

say "Inserisci i valori";
&getvar%2 != 0 && $count++ for 0..$len-1;
say $count
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

qualche minuto prima di uscire,non avevo niente da fare e l'ho accorciato e indentato un po:
Codice:
import java.util.*;
class ArrayDispari{
    public static void main(String args[]){
        java.util.Scanner sc=new Scanner(System.in);
        System.out.println("Quanto e' grande il vettore? ");
        int[] V=new int[sc.nextInt()];
        int cont=0,i=0;
        for (;i<V.length;i++){
            System.out.println("Inserisci il "+(cont+1)+"°numero:");
            if (((V[i]=sc.nextInt())%2)!=0){cont++;}
        }
        System.out.println("Sono presenti "+cont+" numeri dispari");
    }
}
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

Ecco...guarda il codice di Razor..al posto della classe Console, puoi semplicemente utilizzare la classe Scanner() che ti permette facilmente di gestire qualsiasi input in modo davvero semplice e funzionale!! :)
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

[Ruby]
Codice:
#!/usr/bin/ruby
puts "Lunghezza vettore?"
len=gets.to_i
$cont=0
$vector=Array.new
len.times do |i|
  puts "Elemento "+i.to_s
  $vector[i]=gets.to_i
end
len.times do |i|
  if $vector[i]%2!=0
    $cont+=1
  end
end
puts "Elementi dispari: "+$cont.to_s
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

Codice:
c=0 and puts "inserisci gli interi separati da uno spazio"
gets.chomp.split(' ').each{|i|
if /[^0-9]/ =~ i  
  puts(i+" non e' un intero")
  exit(0)
end
if i.to_i%2!=0 then c+=1 end
}
puts c

oppure se ci fidiamo dell'input...
Codice:
c=0 and puts "inserisci gli interi separati da uno spazio"
gets.chomp.split(' ').each{|i| c+=i.to_i%2 }
puts c
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

perl:
Codice:
#!/usr/bin/perl
print "inserisci gli interi: ";
$in = <>; $in =~ s/[^{0-9}]/ /g;
@arr = split/ /,$in; $disp = 0;
for (0..$#arr) { $disp++ if $arr[$_]%2==1 }
print "ci sono $disp elementi dispari\n";
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

lol vabbè magari sta iniziando il linguaggio....
a me per ora in c lasciano esercizi + idioti di questo xD
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

clisp..

Codice:
(defvar *odd* 0)
(write-line "Quanti elementi vuoi inserire?")
(dotimes (x (parse-integer (read-line) :junk-allowed t))
 (if (= (mod (parse-integer (read-line) :junk-allowed t) 2) 1) (incf *odd*)))
(format t "~a numeri dispari~%" *odd*)
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

c++

[ot]
Codice:
#include <iostream>

using std::cin;
using std::cout;

int main() {
	int num, dispari=0;
	cout << "Inserisci i numeri, scrivi 0 per terminare:\n";
	
	do {
		cin >> num;
		if (num%2 != 0) ++dispari;
	} while (num != 0);
	
	cout << "Numeri dispari inseriti: " << dispari;
	
	return 0;
}
[/ot]
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

uhm... ho notato che molti sorgenti non utilizzano vettori...
questo essendo un esercizio PROPRIO SUI VETTORI , non ha senso fare dei sorgenti senza utilizzarli...
la consegna dice :
Siano assegnati in ingresso il riempimento e gli elementi di un array di interi. Si scriva un
programma che, letto l’array in accordo a quanto specificato, fornisca il numero di elementi dispari
presenti nell’array.
Non vorrei fare il guasta feste, ma il mio prof mi ha inculcato che se la consegna dice una cosa DEVE essere rispettata ai minimi particolari... (pur sapendo che i vettori possono essere evitati)
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

RedSkull ha detto:
la consegna dice :
non ho letto la consegna.

poi con 2 variabili int occupo 2*sizeof(int) byte nello stack, con un array ci sarebbero molti più byte usati/sprecati/inutilmente utilizzati...

RedSkull ha detto:
Non vorrei fare il guasta feste, ma il mio prof mi ha inculcato che se la consegna dice una cosa DEVE essere rispettata ai minimi particolari... (pur sapendo che i vettori possono essere evitati)
Dì al tuo prof che se tu riesci a scrivere codice migliore del suo, allora vuol dire che il prof dovrebbe prendere in considerazione l'idea di cambiare mestiere. :phonmg: e di cedere il posto ai "giovani" ;)

ovviamente è un "lol post" il mio :D il fatto è che ho conosciuto una manciata di prof così... e finchè sei a scuola, devi sottostare, ma se sei per conto tuo, cerca di risolvere i problemi nel modo migliore.

ps: (prof != dio)

edit:
ps 2.0
in ogni caso, per "rispettare la consegna" dovresti fare 2 cicli, uno per riempire il vettore, ed uno per controllare e contare la presenza di numeri dispari.
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

in fatti ho detto che si poteva fare senza gli array (cosa migliore) ma se ci si deve esercitare sugli array che senso ha non utilizzarli ? xD
 
RE: [ESERCIZIO 1] Quanti sono gli elementi dispari nel vettore? <Difficoltà: Media>

Tolgo la clausola sulla difficoltà in titolo.
 
Stato
Discussione chiusa ad ulteriori risposte.