/* 2. felev, uj tematika, 1.gyak, C nyelv rendezes. /* 1. pelda: Rendezes minimalis elem kivalasztassal. A Salt Lake 2002 Teli Olimpian vagyunk. A siugroknal a pontszam az ugras tavolsagabol es a minosegre kapott pontszambol all ossze a kovetkezo formula szerint: pontszam= 0.9*tav + kivitel. A tav 100 - 130 meter kozott, a kivitel 0-10 kozott valtozhat. Kerjuk be a 12 indulo ugrashosszat es kiviteli pontszamat mind a ket ugrassorozatra, majd szamitsuk a pontszamokat. Hatarozzuk meg, hogy a ket sorozatban kapott pontszamok osszesitese utan mennyi pontja van az elso harom helyezettnek! */ #include #include float pontszam[12]; void main() { int i,j, tav, kivitel; float psz; clrscr(); puts("Siugroverseny\n"); //pontszamvektor kinullazasa (bar igy is nulla...) for ( i=pontszam[j]= 0.0; //eredmenyek bekerese: for (i=0; i<2; i++) //a ket sorozatra { printf("\n Adja meg az %d. sorozat eredmenyeit:",i+1); for (j=0; j<12; j++) { printf("\n\nAz %d. ugro tavolsaga (100-130)= ",j+1); scanf("%d",&tav); printf(" kiviteli pontja (0-10)= "); scanf("%d",&kivitel); psz= 0.9*tav+kivitel; printf("\n pontszama= %5.1f", psz); pontszam[j]+= psz; } } //pontszamok rendezese: for (j=0; j<12-1; j++) for (i=j+1; i<12; i++) if (pontszam[i]>pontszam[j]) //csere {psz= pontszam[i]; pontszam[i]= pontszam[j]; pontszam[j]= psz; } //Az elen vegzettek pontszamainak kiirasa: printf("\n\nAz elso harom versenyzo altal elert osszesitett pontszam:\n"); for (i=0; i<3; i++) printf("%10.1f",pontszam[i]); getch(); } /* 2. feladat: A Dakar autoverseny befutott resztvevoirol rendelkezesre allnak az osszesitett idoeredmenyek es a gepkocsimarkak. Keszitsunk ketfele rangsort: az egyik az idoeredmenyek szerint rendezze a versenyzoket, de irja ki mellejuk a gepkocsimarka nevet is, a masik pedig a markak sorrendjet adja meg aszerint, hogy a markaval befutottak atlagideje mekkora volt. A 7 befutott versenyzo 4 kulonbozo markaju kocsit hasznalt. Az idot az egyszeruseg kedveert percben merjuk. FIGYELEM! Csak egyszavas nevek adhatok be es minden automarkahoz tartozzon versenyzo!! A programhoz elobb rajzoljuk fel az alkalmazott vektorokat es tisztazzuk a szerepuket!! */ #include #include #include #define V 7 #define M 4 typedef char nevtip[16]; nevtip versenyzo[V],marka[M],bekertmarka; float idok[V], atlagidok[M], seged, sum; int markaszama[V],indexV[V],indexM[M]; void main() { int i,j,k, db, ii; clrscr(); puts("DAKAR rallye osszesitett vegeredmenye\n"); puts("Adja meg a futott gepkocsimarkak nevet:"); for (i=0; i