Написати програму, що обчислює 100, 105, 110, ..., 200
. Результат вивести у вигляді data.fame
з колонками
Написати програму, що обчислює 10, 15, 20, ..., 100
, а [-10, 10]
, що відповідає кількості елементів у data.fame
з колонками
Без використання спеціальних функцій написати програму, що сортує вектор за зростанням та спаданням. Елементи вектора є випадковими числами з діапазону [10,100)
. Кількість елементів у векторі 10
.
Відсортувати вектор таким чином, щоб всі додатні елементи знаходилися на початку, а всі від'ємні – вкінці, і при цьому зберігся початковий порядок елементів в обох групах. Елементи вектора є випадковими числами з діапазону [-100,100]
. Кількість елементів у векторі 10
.
Наприклад, якщо початковий вектор x
складається з елементів:
x <- c(1, -5, 10, -8, -2, 5, 4, -9)
то після "сортування" він матиме вигляд:
## [1] 1 10 5 4 -5 -8 -2 -9
Задано натуральне число
Задано одновимірний масив. Знайти два серед його елементів, модуль різниці яких має найменше значення.
Знайти найбільший спільний дільник двох натуральних чисел, використавши алгоритм Евкліда. Алгоритм Евкліда полягає в наступному: від більшого числа віднімається менше до тих пір, поки вони не стануть рівними; отримане в результаті число і буде найбільшим спільним дільником.
Знайти мінімальний елемент серед тих елементів масиву
Написати програму, що обчислює середнє значення серед парних елементів вектора. Елементи вектора генеруються випадковим чином у діапазоні 10
.
Написати програму, що знаходить середнє значення елементів вектора. Елементи вектора генеруються випадковим чином у діапазоні
Підзавдання 1. Генерацію випадкового числа кратного
Підзавдання 2. Написати функцію, що приймає 1 значення size (довжина вектора) і повертає вектор цієї довжини.
func.genMod7 <- function() {
x <- 8
while(x %% 7 != 0) {
x <- sample(100:200, size = 1)
}
return(x)
}
func.genVectorMod7 <- function(size) {
v <- c()
for(i in 1:size) {
v <- c(v, func.genMod7())
}
return(v)
}
vector <- func.genVectorMod7(100)
vector
## [1] 189 119 119 175 154 161 105 154 119 154 133 105 168 189 105 140 112 168
## [19] 154 182 147 168 189 154 182 161 133 196 119 168 140 175 147 189 175 140
## [37] 105 175 112 105 133 168 133 161 147 126 133 133 126 175 105 105 126 133
## [55] 112 168 140 140 105 112 119 175 189 126 126 196 168 140 140 154 112 196
## [73] 182 119 182 147 133 189 161 119 112 105 140 175 119 133 105 119 133 182
## [91] 182 189 126 126 196 147 196 154 126 112
Написати програму, що знаходить різницю між максимальним та мінімальним значенням елементів вектора, не використовуючи функції min()
та max()
. Елементи вектора генеруються випадковим чином у діапазоні
Написати програму, що знаходить різницю між максимальним та мінімальним значенням елементів вектора, не використовуючи функції min()
та max()
. Елементи вектора генеруються випадковим чином у діапазоні
Написати програму, що дозволяє переставити значення деяких змінних без створення третьої змінної.
Наприклад, a <- 10
та b <- 25
, але після виконання деякого коду виведення має наступний вигляд:
print(a)
## [1] 25
print(b)
## [1] 10
Написати функцію, що...
Завантажити з сайту kaggle.com інформацію про "індекс щастя" (https://www.kaggle.com/ajaypalsinghlo/world-happiness-report-2021). Завантажити дані в R.
Написати функцію, що обчислює для поданого вектора суму, середнє, медіану, мінімум та максимум. Результат роботи функції повертається у вигляді списку (list
).
Рішення до задачі 6.1.1.3:
x <- sample(10:100, size = 10)
for(j in 1:(length(x)-1)) {
for(i in 1:(length(x)-1)) {
if(x[i] > x[i+1]) {
tmp = x[i]
x[i] = x[i+1]
x[i+1] = tmp
}
}
}
print(x)
## [1] 16 25 27 50 55 79 90 92 95 100
Рішення до задачі 6.1.1.4:
x <- sample(-100:100, size = 10)
print("Vector before sort:")
## [1] "Vector before sort:"
print(x)
## [1] -6 -65 94 -38 24 -91 -35 42 -78 -77
for(j in 1:(length(x)-1)) {
for(i in 1:(length(x)-1)) {
if(x[i] < 0 & x[i+1] > 0) {
tmp = x[i]
x[i] = x[i+1]
x[i+1] = tmp
}
}
}
print("Vector after sort:")
## [1] "Vector after sort:"
print(x)
## [1] 94 24 42 -6 -65 -38 -91 -35 -78 -77
Рішення до задачі 6.1.1.5:
#number <- as.numeric(readline(prompt = "Введіть число:"))
number <- 15783
sum <- 0
while(number > 0) {
last_digit = number %% 10
sum = sum + last_digit
number = (number - last_digit) / 10
print(paste0("Number: ", number, " | Sum: ", sum, " | Last: ", last_digit))
}
## [1] "Number: 1578 | Sum: 3 | Last: 3"
## [1] "Number: 157 | Sum: 11 | Last: 8"
## [1] "Number: 15 | Sum: 18 | Last: 7"
## [1] "Number: 1 | Sum: 23 | Last: 5"
## [1] "Number: 0 | Sum: 24 | Last: 1"
Рішення до задачі 6.1.1.9 (спосіб 1):
x <- sample(1:10, size = 4, replace = T)
x
## [1] 1 1 3 6
x_parni <- c()
for(i in 1:length(x)) {
if(x[i] %% 2 == 0) {
x_parni <- c(x_parni, x[i])
}
}
mean(x_parni)
## [1] 6
Рішення до задачі 6.1.1.9 (спосіб 2):
x <- sample(1:10, size = 10, replace = T)
x
## [1] 7 3 6 9 3 5 8 7 7 8
sum <- 0
count <- 0
for(i in 1:length(x)) {
if(x[i] %% 2 == 0) {
sum = sum + x[i]
count = count + 1
}
}
mean_value = sum / count
mean_value
## [1] 7.333333
Рішення до задачі 6.1.2.1:
x <- sample(10:100, size = 10)
print(x)
## [1] 92 27 26 87 30 93 46 81 65 18
vector.info <- function(vector) {
x <- list()
x$Sum <- sum(vector)
x$Mean <- mean(vector)
x$Median <- median(vector)
x$Min <- min(vector)
x$Max <- max(vector)
return(x)
}
vector.info(x)
## $Sum
## [1] 565
##
## $Mean
## [1] 56.5
##
## $Median
## [1] 55.5
##
## $Min
## [1] 18
##
## $Max
## [1] 93