VettoreDiInteri.java
Created with JBuilder |
class VettoreDiInteri {
// Vettore e numero di elementi inseriti
private int[] vettore;
private int numeroElementi;
// Costruttore
public VettoreDiInteri( int numeroMaxElementi ) {
// Il vettore ha una data lunghezza (massima)
vettore = new int[numeroMaxElementi];
// Inizialmente il vettore č vuoto
numeroElementi = 0;
}
// Metodi per ottenere il numero di elementi del vettore
public int restituisciNumeroElementi( ) {
return numeroElementi;
}
public int restituisciNumeroMassimoElementi( ) {
return vettore.length;
}
// Metodo per ottenere il valore di una posizione
public int restituisciElemento( int posizione ) {
return vettore[posizione];
}
// Metodo per impostare il valore di una posizione
public void impostaElemento( int elemento, int posizione ) {
vettore[posizione] = elemento;
}
// Metodo per aggiungere un elemento
public boolean inserisci( int x ) {
if (numeroElementi < vettore.length) {
vettore[numeroElementi] = x;
++numeroElementi;
return true;
} else {
return false;
}
}
// Metodo per la ricerca di un elemento
public int cerca( int x ) {
for (int i = 0; i < vettore.length; i++) {
if (vettore[i] == x) {
return i;
}
}
return -1;
}
// Metodo per la cancellazione di un elemento
public boolean cancella( int x ) {
int posizione = cerca(x);
if (posizione >= 0) {
vettore[posizione] = vettore[numeroElementi - 1];
--numeroElementi;
return true;
} else {
return false;
}
}
// Metodo per il confronto con un vettore
public boolean confronta(VettoreDiInteri u) {
if (vettore.length != u.restituisciNumeroMassimoElementi()) {
return false;
}
for (int i = 0; i < vettore.length; i++) {
if (u.restituisciElemento(i) != vettore[i]) {
return false;
}
}
return true;
}
// Metodo per l'ordinamento di un vettore
public void ordina() {
for (int i = 0; i < vettore.length - 1; i++) {
// Ricerca del minimo
int posizioneMin = i;
for (int j = i + 1; i < vettore.length; j++) {
if (vettore[j] < vettore[posizioneMin]) {
posizioneMin = j;
}
}
// Scambio del minimo con il primo
int t = vettore[i];
vettore[i] = vettore[posizioneMin];
vettore[posizioneMin] = t;
}
}
// Metodo per la somma di due vettori
public void somma(VettoreDiInteri u) {
// I vettori devono essere della stessa lunghezza
if (u.restituisciNumeroMassimoElementi() == vettore.length) {
for (int i = 0; i < vettore.length; i++) {
vettore[i] += u.restituisciElemento(i);
}
}
}
// Metodo per la moltiplicazione con una costante
public void moltiplicaCostante(int k) {
for (int i = 0; i < vettore.length; i++) {
vettore[i] *= k;
}
}
// Prodotto scalare
public int moltiplicaScalare(VettoreDiInteri u) {
int prodottoScalare = 0;
if (vettore.length == u.restituisciNumeroMassimoElementi()) {
for (int i = 0; i < vettore.length; i++) {
prodottoScalare += vettore[i] * u.restituisciElemento(i);
}
}
return prodottoScalare;
}
// Sommatoria di tutti gli elementi
public int sommaElementi( ) {
int somma = 0;
for (int i = 0; i < vettore.length; i++) {
somma += vettore[i];
}
return somma;
}
// Media di tutti gli elementi
public float mediaElementi( ) {
float media = (float) sommaElementi();
return (media / vettore.length);
}
// Indice dell'elemento pių piccolo
public int indiceElementoMinimo( ) {
int posMin = 0;
for (int i = 1; i < vettore.length; i++) {
if (vettore[i] < vettore[posMin]) {
posMin = i;
}
}
return posMin;
}
// Indice dell'elemento pių grande
public int indiceElementoMassimo( ) {
int posMax = 0;
for (int i = 1; i < vettore.length; i++) {
if (vettore[i] > vettore[posMax]) {
posMax = i;
}
}
return posMax;
}
}
VettoreDiInteri.java
Created with JBuilder |