Zdravo!

Spet imam eno zacetnisko tezavico (zame je to konkretna tezava), in
sicer za C++.

Problem imam pri sortiranju ... Zanima pa me, ce mi lahko kdo z
obrazlozilom popravi program oz. ga pretvori v delujoco verzijo. (Zelim
se nauciti programiranja v C++ pa nisem vedel kam se obrnit. Tako, da ce
je to malo off-topic se iskreno opravicujem!)

Imam sledeci primer:
/*
Navodila:
----------
Napisite program, ki vodi evidenco o N konjih na
konjski dirki. O vsakem konju imamo podano ime, sifro
jahalca, disciplino v kateri tekmuje in stevilko steze.
Za vsakega jahalca je podano ime in priimek, spol,
starost, visina, teza,...Program naj sortira konje po
disciplinah ter stezah za to disciplino.
*/

//Vpis ?znam? naredit, ostalega pa ne.
//Program:

#include <iostream.h>//vkljucimo I/O Stream Class
#include <iomanip.h>//vklucimo I/O manipulation Class

//konstante
const int max_k=10;//dolocitev globalne konstante tipa int

//zacetek prg telesa
int main ()
{
 //deklaracija spremenljivk
 char ime_k[max_k][30];//ime konja
 float dis_k[max_k];//disciplina konja
 float steza_k[max_k];//steza na kateri konj tekmuje
 char sifra_j[max_k][10];//sifra jahaca
 char ime_j[max_k][30];//ime jahaca
 char priimek_j[max_k][30];//priimek jahaca
 char spol_j[max_k][8];//spol jahaca
 float starost_j[max_k];//starost jahaca
 float visina_j[max_k];//visina jahaca
 float teza_j[max_k];//teza jahaca
 float vmestni;//pomzna spremenljivka
 //konec deklaracije spremenljivk

 //zacetek vpisa vseh konjev, ki jih zelimo vpisati
 cout << "Vpisete lahko najvec " << max_k << " konjev!" <<
endl;//sporocilo uporabniku
 cout << endl << endl;

 //navodilo uporabniku
 cout << "Ce ne zelite vec vpisovati konjev," <<
 endl << "kot ime konja vnesite *!" << endl;
 //konec navodil za uporabo

 //zacetek for zanke za vpisovanje
 for (int v=0; v<max_k; v++)
 {
  //IME KONJA
  cout << "Vpisi ime konja: ";//navodilo uporabniku
  cin.getline(ime_k[v], 30, '\n');//prebere vnos

  //zacetek sekvence za prekinitev vnosa
  if (ime_k[v][0]=='*')
   break;
  //konec sekvence za prekinitev vnosa

  //TEKMOVALNA DISCIPLINA
  cout << "Vpisi disciplino konja (Vpisi od 0 do 9): ";//navodilo
uporabniku
  cin >> dis_k[v];//prebere vnos

  //SIFRA JAHACA
  cout << "Vpisi sifro jahaca(glej klubsko kartico! Npr.:MZ43221):
";//navodilo uporabniku
  cin.getline(sifra_j[v], 10, '\n');
  cin.getline(sifra_j[v], 10, '\n');//prebere vnos

  //IME JAHACA
  cout << "Vpisi ime jahaca: ";//navodilo uporabniku
  cin.getline(ime_j[v], 30, '\n');//prebere vnos

  //PRIIMEK JAHACA
  cout << "Vpisi priimek jahaca: ";//navodilo uporabniku
  cin.getline(priimek_j[v], 30, '\n');//prebere vnos

  //TEKMOVLNA STEZA
  cout << "Vpisi stezo na kateri bo tekmovalec nastopil: ";//navodilo
uporabniku
  cin >> steza_k[v];//prebere vnos

  //STAROST JAHACA
  cout << "Vpisi starost jahaca (Npr.: 21): ";//navodilo uporabniku
  cin >> starost_j[v];//prebere vnos

  //TEZA JAHACA
  cout << "Vpisi tezo jahaca (Npr.: 123): ";//navodilo uporabniku
  cin >> teza_j[v];//prebere vnos

  //VISINA JAHACA
  cout << "Vpisi visino jahaca (Npr.: 123 cm) ";//navodilo uporabniku
  cin >> visina_j[v];//prebere vnos

  //SPOL JAHACA
  cout << "Vpisi spol jahaca: ";//navodilo uporabniku
  cin.getline(spol_j[v], 8, '\n');//prebere vnos
  cin.getline(spol_j[v], 8, '\n');//prebere vnos

 }
 //konec for zanke za vpisovanje


 //izpis podatkov v vrstnem redu kot smo jih vpisali
 for (int i=0; i<max_k; i++)//postavitev ustreznega pogoja
 {
  //zacetek sekvence za prekinitev izpisa
  if (ime_k[i][0]=='*')//postavitev ustreznega pogoja
   break;//ce je pogoj v glavi resnicen se izvajanje zanke prekine
  //konec sekvence za prekinitev izpisa
  cout << endl;//prazna vrstica
  cout << endl;//prazna vrstica

  //zacetek izpisa vseh podatkov
  cout << "PODATKI ZA " << i+1 << ". KONJA:" <<
  endl << " " << setw(35) << "Ime konja: " << ime_k[i] <<
  endl << " " << setw(35) << "Tekmovalna disciplina: " << dis_k[i] <<
  endl <<
  endl << "PODATKI ZA " << i+1 << ". JAHACA:" <<
  endl << " " << setw(35) << "Sifra jahaca: " << sifra_j[i] <<
  endl << " " << setw(35) << "Ime jahaca: " << ime_j[i] <<
  endl << " " << setw(35) << "Priimek jahaca: " << priimek_j[i] <<
  endl << " " << setw(35) << "Spol jahaca: " << spol_j[i] <<
  endl << " " << setw(35) << "Steza na kateri jahac tekmuje: " <<
steza_k[i] <<
  endl << " " << setw(35) << "Starost jahaca: " << starost_j[i] <<
  endl << " " << setw(35) << "Teza jahaca: " << teza_j[i] <<
  endl << " " << setw(35) << "Visina jahaca: " << visina_j[i] << endl;
  //konec izpisa vseh podatkov
 }
 //konec izpisa vpisanih podatkov po vpisnem vrstnem redu




 //SORTIRANJE

 //disciplina
 for (int d=0; d<max_k; d++)//postavitev ustreznega pogoja
 {
  //zacetek sekvence za prekinitev izpisa
  if (ime_k[d][0]=='*')//postavitev ustreznega pogoja
   break;//izvajanje zanke se prekine, ce je pogoj v glavi resnicen
  //konec sekvence za prekinitev izpisa

  for (float prehod=0; prehod< max_k; prehod++)//postavitev ustreznega
pogoja
   for (d=0; d<max_k; d++)//postavitev ustreznega pogoja
    if (dis_k[d]<dis_k[d+1])//postavitev ustreznega pogoja
    {
     //DISCIPLINA
     //zamenjava vrednosti padajoce po metodi mehurckov
     vmestni=dis_k[d];
     dis_k[d]=dis_k[d+1];
     dis_k[d+1]=vmestni;

     //STEZA
     if (steza_k[d]<steza_k[d+1])
     {
      vmestni=steza_k[d];
      steza_k[d]=steza_k[d+1];
      steza_k[d+1]=vmestni;
     }
    }
 }
 //konec sortiranja po disciplinah




 cout << endl;//prazna vrstica

 for (int q=0; q<max_k; q++)
 {
  //zacetek sekvence za prekinitev izpisa
  if (ime_k[q][0]=='*')//postavitev ustreznega pogoja
   break;//ce je pogoj v glavi resnicen se izvajanje zanke prekine
  //konec sekvence za prekinitev izpisa

  cout << "Ime konja: " << ime_k[q] <<
  endl << "Disciplina: "<< dis_k[q] <<
  endl << "Tekmovalna steza: " << steza_k[q] <<
  endl << endl;
 }


 return 0;
}
//konec programskega telesa

Za vse se ze v naprej lepo zahvaljujem!

Pozdrav,
Mitja
begin:vcard 
n:Znidaric;Mitja
tel;cell:+386 (0)31 345-073
x-mozilla-html:FALSE
url:http://hot.toolsone.com
adr:;;;;;;
version:2.1
email;internet:[EMAIL PROTECTED]
note:http://hot.toolsone.com
end:vcard

Reply via email to