IALweb Homepage
Forum Home Forum Home > Programmazione > Programmazione > C/C++ - VISUAL C++
  New Posts New Posts RSS Feed - Select sort che non funziona
  FAQ FAQ  Forum Search   Events   Register Register  Login Login


REGISTRATEVI su IALWeb forum!

Topic ClosedSelect sort che non funziona

 Post Reply Post Reply
Author
Message
link19 View Drop Down
Nuovo Utente
Nuovo Utente


Joined: 14/Gen/2010
Status: Offline
Points: 1
Direct Link To This Post Topic: Select sort che non funziona
    Posted: 14/Gen/2010 at 10:35
Ho il vettore composto dai numeri
10 22 11 44 10 33 55
Con il select sort viene modificato in qst modo:
10 10 22 44 33 55.
Adesso 33 dovrebbe stare al posto di 44 e non capisco
xkÚ.
main.cpp

#include "header.h"

int main(int argc, char *argv[])
{   vettore v1, v2, v3;
    int n1, n2, n3;
    char c1[]="file1.txt";
    char c2[]="file2.txt";
    char c3[]="file3.txt";
    leggiDaFile( v1, n1, c1);
    leggiDaFile( v2, n2, c2);
    leggiDaFile( v3, n3, c3);
    stampaVettore( v1, n1);
    stampaVettore( v2, n2);
    stampaVettore( v3, n3);
    selectSort( v1, n1);
    selectSort( v2, n2);
    selectSort( v3, n3);
    stampaVettore( v1, n1);
    system("PAUSE");
    return EXIT_SUCCESS;
}

header.h

#ifndef HEADER_H
#define HEADER_H
#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;

typedef int vettore[100];

void leggiDaFile(vettore , int &, char *);
void stampaVettore(vettore , int);
void selectSort(vettore , int );

#endif



header.cpp

#include "header.h"

void leggiDaFile(vettore v, int &n, char *c){
     fstream f;
     f.open( c, ios::in);
     if(!f) cout<<"Impossibile leggere il file\n";
     else{int i=0;
           while(!f.eof()){
                      f>>v;
                      i++;
                      n++;
           }n=i;
     }f.close();
}
void stampaVettore(vettore v, int n){
           cout<<"Il vettore e'\n";
           for(int i=0; i<n; i++){
                   cout<< "v["<<i<<"]: "<<v<<endl;
           }
}
void selectSort(vettore v, int n)
{
      
       for(int i=0; i<n-1; i++)
        {
                int min=v;
                int pos=i;
                for (int j=i+1; j<n; j++)
                    {
                          if (min>v[j])
                                  {
                                       min=v[j];
                                       pos=j;
                                  }
                       if (pos!=i)
                           {
                                     int app=v[pos];
                                     v[pos]=v;
                                     v=app;
                            }
                     }
        }
}

Back to Top
Sponsored Links


Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,061 seconds.