Scarica Algoritmi - Informatica e più Appunti in PDF di Informatica solo su Docsity!
#include using namespace std; const int dim=5; int numeri[dim]; void riempi(){ int x, num; for(x=0; x<=dim; x++){ cout << "Inserisci il " << x << "° valore nel veEore: "; cin >> num; numeri[x] = num; } } void mostra() { for(int x=0; x <= dim; x++){ cout << numeri[x] << " " << endl; } } int cercaduplicaH(){ for(int x=0; x <= dim; x++){ for(int j= x + 1; j <= dim; j++){ if (numeri[x] == numeri[j]) cout << "Il duplicato è:" << numeri[x] << " "<< endl; } } } int main() { riempi(); mostra(); cercaduplicaH(); return 0; }
Algoritmo di ricerca:
trova i numeri duplica
in un array di 5 elemen
inseri3 manualmente
#include #include <stdlib.h> #include <Hme.h> using namespace std; const int dim=6; int numeri[dim]; void riempicasuale(){ int x; srand (Hme(NULL)); for(x=0; x<dim; x++){ numeri[x] = (rand() % dim); } } void mostra() { int x; for(x=0; x<=dim; x++){ cout << numeri[x] << " "; } } int trova(int &num1, int &num2){ int x; num1 = numeri[0]; num2 = numeri[0]; for(x=0; x<dim; x++){ if (numeri[x] < num1) num1 = numeri[x]; if (numeri[x] > num2) num2 = numeri[x]; } return 0; } int main() { int min, max; riempicasuale(); trova(min, max); cout << "Numero minore: " << min << endl; cout << "Numero maggiore: " << max << endl; mostra(); return 0;
Algoritmo di ricerca: trova il
numero min e max in un array
riempito casualmente
#include #include <stdlib.h> #include <Hme.h> using namespace std; const int dim=10; int numeri[dim]; void riempicasuale(){ int x; srand (Hme(NULL)); for(x=0; x<dim; x++){ numeri[x] = (rand() % dim); } } void mostra() { int x; for(x=1; x<=dim; x++){ cout << numeri[x] << " "; } } int cerca(int valore){ bool trovato = false; int x=1; do{ if (numeri[x]==valore){ trovato = true; return x; } else x++; } while (x<=dim); if (trovato==false) return - 1; } int main() { int num, i; riempicasuale(); cout <<"Inserisci il valore da cercare: "; cin >> num; i = cerca(num); if(i<0) cout << "Il numero richiesto non esiste." << endl; else cout <<"Il numero richiesto è in posizione "<<i<<endl; mostra(); return 0; }
Algoritmo di ricerca sequenziale:
ricerca all’interno di un ve;ore generato
casualmente la presenza di un valore scelto
dall’utente
+ variab. locali
#include #include <stdlib.h> #include <Hme.h> using namespace std; const int dim=5; //int numeri[dim]; void riempicasuale(int numeri[]){ int x; srand (Hme(NULL)); for(x=0; x<dim; x++){ numeri[x] = (rand() % dim); } } void mostra(int numeri[]) { int x; for(x=1; x<=dim; x++){ cout << numeri[x] << " "; } } int cerca(int numeri[], int valore){ bool trovato = false; int x=1; do{ if (numeri[x]==valore){ trovato = true; return x; } else x++; } while (x<=dim); if (trovato==false) return - 1; } int main() { int num, i; int numeri[dim]; riempicasuale(numeri); cout <<"Inserisci il valore da cercare: "; cin >> num; i = cerca(numeri, num); if(i<0) cout << "Il numero richiesto non esiste." << endl; else cout <<"Il numero richiesto è in posizione "<<i<<endl; mostra(numeri); return 0;
+ variab. globale
#include using namespace std; const int TANTI=5; int numeri[5]={7,4,1,3,5}; void mostraVeEore(int x){ cout << numeri[x] << endl; } void Sort() { int x, y, i_min; int temp; for (x = 0; x <= TANTI - 1; x++) { i_min = x; for (y = x + 1; y < TANTI; y++){ if (numeri[y] > numeri[i_min]) i_min = y; } temp = numeri[i_min]; numeri[i_min] = numeri[x]; numeri[x] = temp; mostraVeEore(x); } } int main() { Sort(); return 0;
Algoritmo di ordinamento:
decrescente
#include
using namespace std;
const int dim=10;
int numeri[dim];
void riempicasuale(){
int sx, dx;
int x;
srand (@me(NULL));
dx=0;
sx=dim-1;
for(x=0; x<dim; x++){
numeri[x] = (rand() %10-19);
if (x<=0) {
numeri[dx] = x;
dx = dx + 1;
else {
numeri[sx] = x;
sx = sx - 1;
void mostra()
int x;
for(x=1; x<=dim; x++){
cout << numeri[x] << " ";
int main()
int num, i;
riempicasuale();
mostra();
return 0;
Algoritmo di riordinamento:
riordina gli elemen3 di un ve;ore
di DIM numeri interi genera
casualmente con range (-20, +20)
in modo che tuM i valori nega3vi
s3ano a destra e quelli posi3vi a
sinistra
#include
#include
using namespace std;
const int dim=5;
string cognomi[dim+1];
string nomi [dim+1];
int vo<[dim];
void riempi(){
int x;
for (x=1; x<dim; x++){
cout << "Inserire cognome: ";
cin >> cognomi[x];
cout << "Inserire nome: ";
cin >> nomi[x];
cout << "Inserire voto: ";
cin >> vo<[x]; }
void mostra(){
int x;
for (x=1; x<dim; x++){
cout << "\n" << x << " " << cognomi[x] << " " << nomi[x]
<< " " << vo<[x] << endl;
cout << " " << endl;
void cerca(){
int x, somma=0, conta=0; float media=0;
string cognome, nome, voto;
cout << "Inserire il nome da cercare: ";
cin >> nome;
for (x=1; x<dim; x++){
if (nome == nomi[x]){
somma = somma+vo<[x];
conta++;
cout << x << " " << cognomi[x] << " " << nomi[x] << " " <<
vo<[x] << endl; }
media = somma/conta;
cout << "La media dei vo<: " << media << endl;
int main() {
riempi();
mostra();
cerca();
return 0;
Algoritmo di ricerca:
memorizza in due ve;ori paralleli i
cognomi e nomi degli alunni di una classe
e poi visualizza i cognomi di quelli con lo
stesso nome richiesto dall’utente