Повторение: Динамический ввод
Часть раздела Основы путешествия по R на Coddy — урок 45 из 78.
Задание
ЛегкоЧитайте числа из входных данных по одному, пока пользователь не введет "end". Для каждого числа проверьте, является ли оно положительным или отрицательным. Ведите два отдельных счетчика: один для положительных чисел и один для отрицательных. Ноль не должен учитываться ни в одной из категорий.
После завершения цикла (когда введено "end"), выведите результаты на отдельных строках, используя cat() в следующем формате:
Positive: X
Negative: YГде X — это количество положительных чисел, а Y — количество отрицательных чисел.
Например, если входные данные следующие:
5
-3
0
8
-1
-7
endВывод должен быть таким:
Positive: 2
Negative: 3Положительные числа — это 5 и 8 (количество: 2). Отрицательные числа — это -3, -1 и -7 (количество: 3). Ноль не считается.
Попробуйте сами
# Чтение ввода из stdin
con <- file("stdin", "r")
# Инициализация счетчиков
positive_count <- 0
negative_count <- 0
# TODO: Напишите ваш код здесь
# Используйте цикл repeat для чтения чисел, пока не будет введено "end"
# Для каждого ввода:
# - Проверьте, является ли ввод "end", чтобы прервать цикл
# - Преобразуйте в число и проверьте, является ли оно положительным или отрицательным
# - Обновите соответствующий счетчик (не считайте ноль)
# Вывод результатов
cat("Positive:", positive_count, "\n")
cat("Negative:", negative_count, "\n")Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы (AND, OR)Логические операторы. Часть 2 (NOT)Повторение: простая логикаВекторизованная логика. Часть 1Векторизованная логика. Часть 27Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Векторы: продвинутый уровень
Срезы и индексация векторовЛогическая индексацияАрифметика и ресайклинг векторовОператор %in%2Переменные и типы данных
Числовой тип данныхЦелочисленный тип данныхСимвольный тип данныхЛогический тип данныхПроверка типов данныхПравила именованияПропущенные значения: NAИтоги — создание переменных5Принятие решений
Оператор ifКонструкция if - elseПовторение: Простой калькуляторВложенные конструкции if - else8Циклы
Цикл ForЦикл WhileBreakNext (Continue)Повторение: ФакториалГенерация последовательностей (seq, :)Вложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыЦелочисленное деление и остаток от деленияОператоры присваиванияПовторение: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод через printКоманда cat для выводаВывод с переменнымиЧтение ввода через readline()Основы преобразования типовПовторение — Калькулятор возрастаПовторение — Истина или ложь9Функции
Объявление функцииАргументы функцииВозвращаемые значенияПовторение — функция SigmaПовторение — функция валидацииЗначения параметров по умолчанию12Итерация по последовательностям
Итерация по элементам вектораИспользование seq_along()Итерация по символам (strsplit)Функции для работы со строками