I'm new to C
and I'm having problems in an exercise, I can not see a way to solve it.
Next:
At each stage the player has 2 balls with which he must drop 10 pins. The stage ends when: the player knocks down the 10 pins or the player uses the 2 balls.
i = bola1;
j = bola2;
pontuação
1 – STRIKE se i = 10 (a 2a bola não é usada);
2 – SPARE se i < 10, mas i + j = 10;
3 – MISS se i + j < 10;
Valor pontuação
STRIKE - 10 + números de pinos que o jogador derrubar com as duas bolas seguintes.
SPARE - 10 + número de pinos derrubados com a próxima bola
MISS - i + j
a) Leia uma seqüência de números inteiros que descreve um jogo completo. O i-ésimo termo da sequência é o número de pinos derrubados pela i-ésima bola. Qual será o tamanho máximo da seqüência?
b) Identifique a quantidade de pinos derrubados por cada etapa e classifique como STRIKE, SPARE ou MISS.
c) Calcule o número de pontos por etapa
d) Calcule o total de pontos no jogo
e) Imprima os resultados
Numero de exemplo;
1o jogo: 10, 9, 1, 6, 3, 7, 0, 8, 2, 0, 8, 2, 0, 8, 2, 0, 8, 1, 0, 9, 1;
2o jogo: 9, 1, 0, 10, 10, 10, 6, 2, 7, 3, 8, 2, 10, 9, 0, 9, 1, 2;
3o jogo: 10, 9, 0, 8, 2, 10, 10, 7, 3, 4, 6, 10, 9, 1, 10, 7, 3;
Well, I tried to use a for
to check the value of each vector position, so that's fine, my problem is to compare the next two values if the first one is not a Strike.
main() {
int game1[20] = {10, 9, 1, 6, 3, 7, 0, 8, 2, 0, 8, 2, 0, 8, 2, 0, 8, 10, 9, 1};
int game2[18] = {9, 1, 0, 10, 10, 10, 6, 2, 7, 3, 8, 2, 10, 9, 0, 9, 1, 2};
int game3[17] = {10, 9, 0, 8, 2, 10, 10, 7, 3, 4, 6, 10, 9, 1, 10, 7, 3};
int i, j;
for(i=0; i<20; i++) {
for(j=0; j<20; j++) {
if(game1[i] == 10) {
printf("Strike");
}
}
}
}
This is the code that I started to do, but my doubt is more in the logical part, how to compare the value of i and j to know if it is a Strike, Spare or Miss;