inserimento,assegnazione e calcolo numero minore su elementi array

Stato
Discussione chiusa ad ulteriori risposte.

dark shadow

Utente Electrum
11 Giugno 2007
284
42
0
150
Siccome abbiamo affrontati gli array questa settimana,all'uni, vi propongo un esercizio che ci ha dato il docente "per casa"; è facile facile, ma penso che metta bene in evidenza come sono strutturati gli array in c++:

ex.
Leggere una sequenza di interi(ho presupposto 10), memorizzarla in un array e definire l'elemento minore.

Codice:
#include <iostream>

using namespace std;

int main()
{
    int a[10];
    int min=0;
    cout << "Inserire sequenza di dieci numeri interi"<<endl;

    for(int i=0;i<10;i++)  //ciclo inserimento in array dei numeri
    {
        cin >> a[i];
    }


    cout << "Array omposto dagli elementi: ";
    for(int i=0;i<10;i++) //ciclo lettura e stampa a video degli elementi dell'array
    {
        cout <<"["<<a[i]<<"]";

    }
    cout << endl;


    min=a[0];
    for(int k=0;k<10;k++)  //ciclo calcolo elemento minore
    {
        if(a[k]<min)
        {
            min=a[k];
        }
    }
    cout << endl;
    cout << "Elemento minore:  " << min << endl;






    return 0;
}

P.s per un codice così non ho voluto inserire alcuna gestione degli errori, in quanto è stato fatto per puro esempio senza alcuna finalità applicativa.
 
[Ruby]
Codice:
#!/usr/bin/ruby
$array=[]
i=0
while i<10
  $array[i]=gets().to_i
  i+=1
end
$min=$array[0]
i=0
while i<$array.length
  if $min>$array[i]
    $min=$array[i]
  end
  i+=1
end
puts "Numero più piccolo:", $min
 
in java:
Codice:
import java.util.*;
import java.io.*;
public class prova{
   public void NumArray(){
    ArrayList al=new ArrayList();
    BufferedReader t=new BufferedReader(new InputStreamReader(System.in));
    int vmin=999999999;
        for(int i=1;i<=10;i++){
            try{
                System.out.println("Inserire il "+i+"° valore");
                al.add(t.readLine());  
            }catch(Exception e){}
        }
        for(int i=0;i<al.size();i++){
            int v=Integer.parseInt(""+(Object)al.get(i));
            if(v<vmin){
                vmin=v;  
            }
        }
        System.out.println("I valore più piccolo dell'array è "+vmin);
    }   
}
 
Python: (non chiedetemi come ho fatto a farlo :asd:)
Codice:
array=[]
i = 0
while i<10:
	array.append(int(raw_input("Inserisci un numero\n")))
	i = i + 1

print 'Valori dell\'array:'
for i in range(0,10):
	print str(array[i])+' ',


array.sort()
print "\nMinimo: " + str(array[0])
 
C++
Codice:
#include <cstdlib>
#include <iostream>

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

void array_min(){
    int a[10];
    int min=0;
    cout << "Inserire sequenza di dieci numeri interi" <<endl;

    for(int i=0;i<10;i++) 
        cin >> a[i];

    min=a[1];
    cout << "Array omposto dagli elementi: ";
    for(int i=0;i<10;i++) 
        cout <<a[i]<<"  ";
    cout << endl;


     for(int i=1;i<10;i++)
        if(a[i]<min) min=a[i];
        
cout << "\nElemento minore:  " << min << endl;

}

int main(){
array_min();
system("PAUSE");
return 0;
}
 
c++
Codice:
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> v;
    cout << "Inserire valori dell'array... (0 per terminare)"<<endl;
    int value=1;
   while(value!=0)
    {
        cout << "Inserisci elemento "<<endl;
        cin >> value;
        if (value) v.push_back(value);
    }

    cout << "reverse array: ";
    vector<int>::iterator i;
    for(i=v.rbegin();i<v.rend();++i) 
        cout <<"["<<*i<<"]";
    cout << endl;

    min= v.at(0);
    for(int j=0;j<v.size();j++)
        if(v[j]<min)
            min=v[k];
    cout << endl;
    cout << "Min:  " << min << endl;

    return EXIT_SUCCESS;
}
 
PHP (mi ha veramente divertito farlo):
PHP:
<?php
$values = $_GET['values'];
if (!$values) {
	die('Inserire i valori separati da un |');
}
if (strpos($values, '|') === false) {
	die('Non hai separato i valori da un |');
}
$val = explode('|',$values);
if (count($val) < 10 or in_array('',$val)) {
	die('Devi inserire almeno 10 valori');
}
for ($i = 0; $i < 10; $i++) {
	if (!is_numeric($val[$i])) {
		die('Tutti i valori devono essere numerici');
	}
}

echo 'Valori dell\'array: '.implode(', ',$val).'.';

$min = $val[0];
for ($i=0;$i<count($val);$i++) {
	if ($val[$i] <$min) {
		$min = $val[$i];
	}
}

$max = $val[0];
for ($i = 0; $i < count($val); $i++) {
	if ($val[$i] > $max) {
		$max = $val[$i];
	}
}
echo '<br />Valore pi&ugrave; piccolo: '.$min;
echo '<br />Valore pi&ugrave; grande: '.$max;
echo '<br />Numero dei valori: '.count($val);
?>
In più questo restituisce il numero dei valori e il valore più grande ;P
 
Stato
Discussione chiusa ad ulteriori risposte.