2 svar
52 visningar
TB16 151
Postad: 16 jun 2019 Redigerad: 16 jun 2019

Beräkna antal poäng för varje match

Uppgift:

Our football team finished the championship. The result of each match look like "x:y". Results of all matches are recorded in the collection.

For example: ["3:1", "2:2", "0:1", ...]

Write a function that takes such collection and counts the points of our team in the championship. Rules for counting points for each match:

if x>y - 3 points
if x<y - 0 point
if x=y - 1 point
Notes:

there are 10 matches in the championship
0 <= x <= 4
0 <= y <= 4

Mitt försök att lösa uppgiften:

int points(const char* const games[10]) {
int points = 0;
int x,y;
char myString[10];
char c;

for(int i = 0; i < 10; i++){

myString[0] = games[i];
x = myString[0]-'0';
y = myString[2]-'0';

if(x>y)
{
points+=3;
}
else if(x=y)
{
points+=1;
}
else if(x<y){
points +=0;
}
}

return points;

}

Fråga:
Jag klarar ett test, men får felmeddelandet: "Expected: 10 Submitted: 16". Gissar att det har att göra med
"myString[0] = games[i];" ? Min tanke är att ta varje textsträng från games-arrayen och lägga strängen i en array av typen char, så att jag sedan jämföra värdena på minnesplats 0 och 2 i myString-arrayen och beräkna poängen. Någon som ser vad jag gör för fel?  



Affe Jkpg 4647
Postad: 16 jun 2019 Redigerad: 16 jun 2019

Du gör många fel bl.a.

games[15]

i+=3

x, y och myString behövs ej

if(games[i] > games[i+2]).....

Använd annars med fördel struct

Affe Jkpg 4647
Postad: 16 jun 2019 Redigerad: 16 jun 2019

Glöm mitt tidigare inlägg

char *myString;

myString = games[i];

if(*myString>*(myString+2)......

Svara Avbryt
Close