geordnete liste



  • in der c++-standardbibliothek gibt es eine headerdatei namens algorithm, die man mit #include<algorithm> in das programm einbinden kann. dort befindet sich auch eine funktion namens sort(), mit der man stl-vektoren automatisch sortieren kann. stl-vektoren sind eine c++-alternative zu den c-arrays, wie sie das obige programm verwendet. aber ich denke, das schreiben einer eigenen sortierroutine ist teil der aufgabenstellung und deshalb habe ich in dem programm die in der standardbibliothek vorhandenen sortierroutinen auch nicht benutzt.



  • Konfusius schrieb:

    in der c++-standardbibliothek gibt es eine headerdatei namens algorithm, die man mit #include<algorithm> in das programm einbinden kann. dort befindet sich auch eine funktion namens sort(), mit der man stl-vektoren automatisch sortieren kann. stl-vektoren sind eine c++-alternative zu den c-arrays, wie sie das obige programm verwendet. aber ich denke, das schreiben einer eigenen sortierroutine ist teil der aufgabenstellung und deshalb habe ich in dem programm die in der standardbibliothek vorhandenen sortierroutinen auch nicht benutzt.

    Kleine Korrektur: Du kannst auch normale Arrays damit sortieren.

    mfg
    v R



  • hab die "fortgeschrittenen sprachelemente" jetzt rausgenommen.

    #include<iostream.h>
    
    int
    main ()
    { 
      int n,a[10],i,x,f;
      char nochmal='j'; 
    
      cout<<"\n\n\t\tAUSGABE GEORDNETE LISTE:\n"<<endl; 
    
      while(nochmal=='j') 
      { 
        do
        { 
          cout<<"Geben Sie bitte die Anzahl der Zahlen an, die Sie eingeben\n"; 
          cout<<"moechten. Die von Ihnen eingegebene Zahl muss zwi-\n"; 
          cout<<"schen 1 und 10 liegen, wobei die werte 1 und 10 selbst\n"; 
          cout<<"auch zulaessig sind.\n"<<endl; 
    
          cin>>n; 
        } 
        while(n<1 || 10<n);
    
        cout<<"\n\nBitte geben Sie nun ihre "<<n<<" Zahlen ein:"<<endl; 
    
        for(i=0; i<n; i++)
          cin>>a[i];
    
        cout<<"\n\nHier sind die "<<n<<" Zahlen in der Reihenfolge, wie Sie sie\n"; 
        cout<<"eingegeben haben:\n"<<endl; 
    
        for(i=0; i<n; i++)
          cout<<" "<<a[i];
    
        cout<<endl;
    
        cout<<"\n\n\nHier sind die "<<n<<" eingegebenen Zahlen der Groesse nach geord-\n"; 
        cout<<"net:\n"<<endl; 
    
        // bubblesort
        do
        {
          f=0;
    
          for(i=1; i<n; i++)
            if(a[i-1]>a[i])
            {
              x=a[i-1];
              a[i-1]=a[i];
              a[i]=x;
    
              f=1;
            }
        }
        while(f);
    
        for(i=0; i<n; i++)
          cout<<" "<<a[i];
    
        cout<<endl;
    
        cout<<"\nWenn Sie fuer neu einzugebende Zahlen die Ausgabe der\n"; 
        cout<<"geordneten Liste wiederholen wollen, dann geben Sie bitte\n"; 
        cout<<"ein 'j' ein, sonst ein 'n'!"<<endl;
    
        cin>>nochmal;
        cout<<endl<<endl;
      }
    
      return 0; 
    }
    


  • ich glaube das kann ich nachvollziehen....ich danke euch jungs!!! besonders dir Konfusius!!!

    als letztes noch eine frage: kan man text unterstreichen?? also er soll in der ausgabe unterstrichen sein...



  • unterstreichen geht im textmodus bei den meißten computern nicht. du kannst aber ein bißchen ascii-art machen und minus-zeichen in die darunterliegende zeile setzten.

    hmm... unter linux gehts glaub ich mit "\b_". wenn du einen text unterstreichen willst, dann gebe nach jedem zeichen "\b_" aus. also zb "H\b_a\b_l\b_l\b_o\b_" für ein unterstrichenes "Hallo". wenn du die zahlen unterstreichen willst, dann wirds knifflig. die müßtest du erst in einen string umwandeln und dann zeichenweise ausgeben, immer mit "\b_" hinter jedem zeichen. aber vielleicht gibst in der c++-bibliothek unter linux ja auch einen speziellen befehl fürs unterstreichen. bin in linux leider nicht so fit.



  • aso...na denn.....thx


Anmelden zum Antworten