Salve a tutti!! Mi chiamo Francesco e mi sono appena iscritto al forum..
A breve ho l'esame di informatica e mi esercitavo con un programma per ordinare un vettore acquisito: in poche parole creo un array, fornisco gli elementi dell'array e devo ordinarli in ordine crescente con il selection sort ovvero per minimi successivi..
questo è il programma che ho fatto (uso il Dev-C 5.0 perchè questo usiamo all'esame):
[ CODE]
#include <iostream>
#include <cstdlib>
using namespace std;
const int dim=100;
void selection (int a[], int n ) {
int vettore[dim];
int i, j;
int minimo;
int temp;
cout<<"Inserisci la lunghezza del vettore: " << endl;
cin>>n;
for (i=0; i<n; i++) {
cout<<"Inserisci gli elementi del vettore: " <<endl;
cin>> vettore[i];
cout<< endl;
}
for (i=0; i<n; i++) {
minimo=i;
for (j=i+1; j<n; j++)
if (a[j]<a[minimo])
minimo=j;
temp = a[i];
a[i] = a[minimo];
a[minimo] = temp;
}
system ("PAUSE");
}
[/ CODE]
Compilo ed eseguo e ovviamente mi da come errore: [Linker error] undefined reference to 'WinMain@16' .
(Forse mi sono dimenticato di dirvelo ma di programmazione non capisco un H, prima volta in vita mia °_° ).
Così arrabbiato come una bestia inizio a girare il web alla ricerca di risposte, e trovo la soluzione: colpa della mancanza del main!!
Così ricambio il codice sostituendo "void selection (int a[], int n ) {" (che era sugli appunti del prof tra l'altro -.- ) con "void main (int a[], int n ) {"
Lo compila e lo esegue!!
Inserisco lunghezza ed elementi del vettore..e puf.. errore e si blocca -.- (il classico errore di windows, quando dice ke l'applicazione non risponde e sarà terminata)..
Come posso risolvere? è un problema del mio pc o è qualcosa nel programma che è sbagliato e lo fa bloccare?
Volendo poi stampare a video il vettore ordinato è sufficiente aggiungere alla fine un ciclo for del tipo:
for (i=0; i<n; i++)
cout<< vettore[i];
Vi prego aiutatemi (