Valori compresi in un vettore

di il
2 risposte

Valori compresi in un vettore

Ciao! Ho questo tema d'esame da svolgere:
Definisci la funzione compresi con parametri: a e b di tipo vettore di 10 interi e d di tipo puntatore/riferimento ad un int. Scrivere nell'area di memoria puntata/riferita da d la posizione di un qualsiasi elemento del vettore a compreso (estremi inclusi) tra almeno due elementi del vettore b. Se tale valore non esiste la fuzione deve scrivere in d il valore -1.
Nel main bisogna dichiarare due vettori x e z di 10 interi + una variabile int t ed inserire nel vettore x numeri letti da standard input. Successivamente disogna ripetere le seguenti istruzioni fino a quando la funzione compresi() inserisce nella variabile t il valore -1: a) riempire il vettore z con valori letti da standard input b) eseguire la funzione compresi() applicata al vettore x,al vettore z inserendo il risultato in t.


Volevo sapere se andava bene come avevo svolto l'esercizio oppure se al posto di b[j+1] nell'if avrei dovuto mettere un b[k] aggiungendo il ciclo for corrispondente?
#include <iostream>
using namespace std;

void compresi(int a[10], int b[10], int &d)
{

	int i, conta, j;

	
	for (i = 0; i < 10; i++)
	{
		for (j = 0; j < 10; j++)
		{
			conta = 0;
			if (b[j] <= a[i] && a[i]<=b[j+1])
			{
				conta++;
			}
		}
		if (conta == 1)
		{
			d = i;
		}
		else { d = -1; }


	}

}
int main()
{
	int z[10], x[10], t=0, i;

	for (i = 0; i < 10; i++)
	{
		cin >> x[i];
	}

	do{
		for (i = 0; i < 10; i++)
		{
			cin >> z[i];
		}
		compresi(x, z, t);
	
	} while (t != -1);

	return 0;
}

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte