Liberia di un vettore

di il
3 risposte

Liberia di un vettore

Sono alle prese con un file per riempire un vettore,media,max e min...
Ho preso il testo dal mio libro per imparare ma non mi compila.

Ecco il file vector.h
/* LA LIBRERIA DEFINISCE STRUTTURA E OPERAZIONE SU I VETTORI :
NMAX : DIMENSIONE MAX DELL'ARRAY;
VECTOR : TIPO DI VETTORE
MEDIA : LA MEDIA
MAX: VALORE MAX
MIN : VALORE MIN */

// Definisce la dimensione massima dell' array;
#define N_MAX 100

// Definisce il tipo di vettore
typedef double vector [N_MAX]

// PROTOTIPI DELLA FUNZIONE LIBRERIA 
double media (vector v, int n);
double max (vector v, int n);
double min (vector v, int n);
Ecco il file vector.cpp
//Includo la libreria da me creata
#include <vector.h>

// implementazione prototipi.

double media (vector v, int n)
{
	int i;
	double media = 0;
	for (i=0, i<n, i++)
	{
		media = media + v[i];
	}
	return media/n;
}

double max (vector v, int n)
{
	int i;
	double max=v[0];
	for (i=0, i<n, i++)
	{
		if (v[i]>max)
		{
			max = v[i];
		}
	}
	return max;
}

double min (vector v, int n)
{
	int i;
	double min= v[0];
	for (i=0; i<n; i++)
	{
		if (min>v[i])
		{
			min = v[i];
		}
	}
	return min;
}
Ecco il main.cpp invece
#include <cstdlib>
#include <iostream>
#include "vector.h"
 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	vector v;
	int i,n;
	int m1,m2,m3;
	
	do 
	{
		cout << " Quanti numeri vuoi inserire nel vettore? (n>0 u n<100) : ";
		cin >> n;
	}
	
	while ( n<=0; || n>=100);
	
		cout << endl << " Inserire " << n << " elementi per il vettore " << endl;
		cout << " v [ " << endl;
		
		for (i=0, i<n, i++)
		{
			cout << " Inserire elementi ";
			cin >> v[i];
		}
	
	cout << "]" << endl;
	
cout << endl << " v= [ " ;
for (i=0; i<n; i++)
{
	cout <<  v[i] << "  " ;
	cout << " ] " << endl;
}

m1= media(v,n);
m2= max(v,n);
m3= min(v,n);

cout << " La media vale " << m1 << endl;
cout << " Il max vale " << m1 << endl;
cout << " Il min vale " << m3 << endl;
}
Come mai non funziona?
Mi da l'errore nel file vector.h dicendo che ci sono elementi non dichiarati come v

3 Risposte

  • Re: Liberia di un vettore

    Vector.h

    +manca il ";"
    typedef double vector[N_MAX];
    main.cpp

    +aggiungi
    using namespace std;
    o scrivi std::cout / std::cin

    +"m2", non "m1"
    cout << " Il max vale " << m2 << endl;
    +manca il "while()"
    do
        {
            cout << " Quanti numeri vuoi inserire nel vettore? (n>0 u n<100) : ";
            cin >> n;
        }
    +usa il ";" non la ","
    for (i=0; i<n; i++)
    +non ci va il ";"
    while ( n<=0 || n>=100);
    +Magari migliora la "grafica" in generale ( formatta l' 0(_)7|*(_)7 )


    vector.cpp

    +dinuovo usa ";"
    for (i=0; i<n; i++)
  • Re: Liberia di un vettore

    manca il while
    Veramente il while c'è ...
    
    do 
       {
          cout << " Quanti numeri vuoi inserire nel vettore? (n>0 u n<100) : ";
          cin >> n;
       }
       
       while ( n<=0; || n>=100);
    
  • Re: Liberia di un vettore

    Upsi l'ho visto dopo.
    Identazione perfetta...
Devi accedere o registrarti per scrivere nel forum
3 risposte