помогите с домашкой(

sagyndyk

Новичок
Пользователь
Апр 15, 2022
3
0
1

Результаты матчей​

Вы создаете программу для анализа результатов спортивных матчей и подсчета очков заданной команды.
Результаты матчей хранятся в массиве results.
Каждый матч имеет один из следующих результатов:
"w" - выиграл
"l" - проиграл
"d" - ничья
Победа добавляет три очка, ничья - одно очко, а проигранный матч не добавляет очков.
Ваша программа должна принять на вход результат последнего матча и добавить его в массив результатов. После этого необходимо вычислить и вывести общее количество очков, набранных командой по результатам матчей из массива results.
Sample Input:
w
Sample Output:
22
 

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
Пиши нормальные заголовки темы иначе буду удалять. Например: "Анализ результатов спортивных матчей и подсчета очков заданной команды".
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот пример:
C-подобный:
package main

import(
    "fmt"
    "bufio"
    "os"
    "strings"
)

func main() {
    var results []string
    r := bufio.NewReader(os.Stdin)
    for {
        s, _ := r.ReadString('\n')
        results = append(results, strings.TrimSpace(s))
        n := 0
        for _, v := range results {
            if v == "w"{
                n += 3
            } else if v == "d" {
                n += 1
            }
        }
        fmt.Printf("%d\n", n)
    }
}
 
  • Мне нравится
Реакции: Student

sagyndyk

Новичок
Пользователь
Апр 15, 2022
3
0
1
Вот пример:
C-подобный:
package main

import(
    "fmt"
    "bufio"
    "os"
    "strings"
)

func main() {
    var results []string
    r := bufio.NewReader(os.Stdin)
    for {
        s, _ := r.ReadString('\n')
        results = append(results, strings.TrimSpace(s))
        n := 0
        for _, v := range results {
            if v == "w"{
                n += 3
            } else if v == "d" {
                n += 1
            }
        }
        fmt.Printf("%d\n", n)
    }
}
Добрый день! Он у вас выдает бесконечный цикл с цифрой 19, а можете снова перепроверить?
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
выдает бесконечный цикл с цифрой 19
В условии задачи не сказано сколько будет входных данных (результатов матчей), поэтому бесконечный цикл.
Чтобы из него выйти - можно добавить условие выхода (например если введено что-то кроме букв w, d, или l):
C-подобный:
package main

import(
    "fmt"
    "bufio"
    "os"
    "strings"
)

func main() {
    var results []string
    r := bufio.NewReader(os.Stdin)
    for {
        s, _ := r.ReadString('\n')
        results = append(results, strings.TrimSpace(s))
        n := 0
        for _, v := range results {
            if v == "w"{
                n += 3
            } else if v == "d" {
                n += 1
            } else if v == "l" {
                n += 0
            } else {
                return
            }
        }
        fmt.Printf("%d\n", n)
    }
}
 

Форум IT Специалистов