- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct pl
{
int speed;
double time;
}player;
int cni;//countries number
static double disti;//distance of road
class stack
{
public:
stack(int i)
{
ael=new int[i];
sp=0;
};
int pop(void);
void push(int el);
int sp;
private:
int *ael;
};
class country : public stack
{
public:
country();
void setinfo();
char name[25];
int pn;
int sp;
player *cpl;
player *bpl;
void getname(char *name);
player* findbestplayer();
void sortplayers();
~country();
};
country::country():stack(cni)
{
};
void country::setinfo()
{
static char nm[255];
printf("Enter country name\n");
gets(nm);
strcpy(name,nm);
printf("Country name: %s\n",name);
static char pnc[25];
printf("Enter number of players: ");
gets(pnc);
pn=atoi(pnc);
cpl=new player[pn];
for(int i2=0;i2<pn;i2++)
{
int spd;
static char spdc[10];
printf("Enter speed of player %d:",i2+1);
gets(spdc);
spd=atoi(spdc);
cpl[i2].speed=spd;
cpl[i2].time=disti/spd;
printf("Player time %f\n",cpl[i2].time);
};
return;
};
country::~country()
{
delete []cpl;
delete []bpl;
};
player* country::findbestplayer()
{
int bpl2=0;
for(int i3=1;i3<pn;i3++)
{
if(cpl[i3].time<cpl[bpl2].time){
bpl2=i3;
};
*bpl=cpl[bpl2];
return &cpl[bpl2];
};
};
int getspeed(struct pl pll);
void sort(country *cnt);
int main(int argc,char *argv[])
{
static char cn[10];
static char dist[10];
printf("Enter distance\n");
guest 07.08.2009 19:12 # 0
продолжение:
gets(dist);
disti=atoi(dist);
printf("Enter number of countries\n");
gets(cn);
cni=atoi(cn);
country c1[cni];
for(int i=0;i<cni;i++)
{
c1[i].setinfo();
player *bplr=c1[i].findbestplayer();
printf("best time %f\n",c1[i].bpl->time);
};
sort(c1);
for(int i=0;i<cni;i++)
{
printf("%d %s %f\n",i,c1[i].name,c1[i].bpl->time);
};
return 0;
};
void sort(country *cnt)
{
for(int i1=0;i1<cni;i1++)
{
for(int i2=i1;i2<cni;i2++)
{
if(cnt[i2].bpl->time<cnt[i2+1].bpl->time)
{
country tmp=cnt[i2];
cnt[i2]=cnt[i2+1];
cnt[i2+1]=tmp;
};
};
};
return;
};
guestMumFucker 21.11.2015 17:15 # −1
guest 07.08.2009 21:03 # 0
Это вобще не говнокод, эта программа работает.
guestMumFucker 21.11.2015 17:16 # 0
guest 08.08.2009 01:12 # 0
У меня сортировка объектов неработает, надо писать свой копирующий конструктор.
guest 21.11.2015 17:54 # 0
Овка
guest 09.08.2009 07:01 # 0
B почему класс занимается хренью вроде ввода данных? По хорошему ему надо скормить struct player.
В классе есть public переменные? Про инкапсюляцию уже не знаем?
>Это вобще не говнокод, эта программа работает.
Может и работает, но это типичный говнокод