05_files

command
v0.0.0-...-67ddee7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

bufio vs fmt

Ранее в рамках этого курса при решении задач требовалось прочитать что-то со стандартного ввода и вывести результат соответственно в стандартный вывод.

При этом кто-то использовал пакет fmt, а кто-то - bufio + os. Все эти пакеты
имеют свои особенности, поэтому в этой задаче мы попробуем решить знакомую нам
проблему с помощью пакетов, которые кто-то мог до этого момента и не применять:
bufio + os + strconv.

Задача состоит в следующем: на стандартный ввод подаются целые числа в диапазоне 0-100, каждое число подается на стандартный ввод с новой строки (количество чисел не известно). Требуется прочитать все эти числа и вывести в стандартный вывод их сумму.

Несколько подсказок: для чтения вы можете использовать типы bufio.Reader и bufio.Scanner, а для записи - bufio.Writer. При чтении помните об ошибке io.EOF. Конвертирование данных из строки в целое число и обратно осуществляется функциями Atoi и Itoa из пакета strconv соответственно. Чтение производится из стандартного ввода (os.Stdin), а запись - в стандартный вывод (os.Stdout).

Все указанные в тексте задачи пакеты (strconv, bufio, os, io), уже импортированы (другие использовать нельзя), package main объявлен.

Sample Input:

33 47 12 79 15

Sample Output:

186

package main уже объявлен.

Поэтапный поиск данных Данная задача в основном ориентирована на изучение типа bufio.Reader, поскольку этот тип позволяет считывать данные постепенно.

В тестовом файле, который вы можете скачать из нашего репозитория на github.com, содержится длинный ряд чисел, разделенных символом ";". Требуется найти, на какой позиции находится число 0 и указать её в качестве ответа. Требуется вывести именно позицию числа, а не индекс (то-есть порядковый номер, нумерация с 1).

Например: 12;234;6;0;78 : Правильный ответ будет порядковый номер числа: 4

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL