Sicuramente mi servirà, grazie mille per il link...
Provo a studiarci sopra, non è facile.
Questo è un algoritmo di ricerca?
Ho capito che dovrò imparare a memoria altrimenti non si spiega.
bool ricerca_lineare( int *vet, unsigned int qEl, int val ) {
if( NULL != vet ) { // hai visto mai...
for( unsigned int i=0; i<qEl; i++ ) {
if( vet[i] == val ) return true;
}
}
return false;
}
Da ciò che ne capisco hai creato una funzione booleana chiamata ricerca lineare.
Perché un puntatore int *vet? unsigned int mai visto...
int val è il valore che ti interessa, ho capito.
Quindi se la dimensione è diversa da zero, con un ciclo for si cerca il valore e in caso ritorna true, altrimenti false.
///
Ho provato ma non gira:
// Ricevere in input due array di interi con le relative dimensioni e determini
// se la somma degli elementi del più piccolo è contenuto nel più grande.
#include <iostream>
using namespace std;
bool ricerca_lineare ( int *vet, int qEl, int val)
{
if( NULL != vet ) { // hai visto mai...
for( unsigned int i=0; i<qEl; i++ ) {
if( vet[i] == val ) return true;
}
}
return false;
}
int main()
{
int x, y;
cout << "Inserisci la dimensione del primo array: ";
cin >> x;
cout << "Inserisci la dimensione del secondo array: ";
cin >> y;
int a [x];
int b [y];
int min;
int somma1 = 0, somma2 = 0;
cout << "Inserisci interi nel primo array: " << endl;
for (int i = 0; i < x; i++)
{
cin >> a [i];
somma1 = somma1 + a [i];
}
cout << "Inserisci interi nel secondo array: " << endl;
for (int i = 0; i < y; i++)
{
cin >> b [i];
somma2 = somma2 + b [y];
}
if (x<y)
{
cout << "L'array piu' piccolo e' quello con dimensione " << x;
min = somma1;
bool trovato = ricerca_lineare (a, x, min);
if (trovato)
cout << "E' contenuto!";
else
cout << "Non e' contenuto!";
}
else if (x>y)
{
cout << "L'array piu' piccolo e' quello con dimensione " << y;
min = somma2;
bool trovato = ricerca_lineare (b, y, min);
if (trovato)
cout << "E' contenuto!";
else
cout << "Non e' contenuto!";
}
return 0;
}
Che mi dicesse mai, è contenuto ahahahaa