# Mindanao State University
# General Santos City
# Math 108
# Single for Loop for Consecutive Elements in R
# Double for Loop for generating dynamic unique password consisting of integers
# Submitted by: Dongosa, Davy D.
# May 2023

# The task is to generate the sum of consecutive elements using single for loop and generate dynamic unique password consisting integers by using double for loop in R

# Here in this task we will be using my previous set from the first examination


S <- c(3, 7, -9, 12, -2, 2, 15, 24, -17, 10, 21, -12) 

(UniversalSet <- c(3, 7, -9, 12, -2, 2, 15, 24, -17, 10, 21, -12))
##  [1]   3   7  -9  12  -2   2  15  24 -17  10  21 -12
Size <- 12
(RandomSet <- sample(UniversalSet,Size,rep=TRUE))
##  [1]  -9  12   2  -2  -2  21 -17 -17  15 -17 -12  15
dat <- list()
Sums <- list()
counter = 0

for (i in 1:(Size-1)){
  data <- c(RandomSet[i], RandomSet[i+1])
  counter = counter + 1
  dat[[counter]] <- data
  Sums[[counter]] <-sum(data)
}
head(dat)
## [[1]]
## [1] -9 12
## 
## [[2]]
## [1] 12  2
## 
## [[3]]
## [1]  2 -2
## 
## [[4]]
## [1] -2 -2
## 
## [[5]]
## [1] -2 21
## 
## [[6]]
## [1]  21 -17
tail(dat)
## [[1]]
## [1]  21 -17
## 
## [[2]]
## [1] -17 -17
## 
## [[3]]
## [1] -17  15
## 
## [[4]]
## [1]  15 -17
## 
## [[5]]
## [1] -17 -12
## 
## [[6]]
## [1] -12  15
RandomSet
##  [1]  -9  12   2  -2  -2  21 -17 -17  15 -17 -12  15
S <- c(3, 7, -9, 12, -2, 2, 15, 24, -17, 10, 21, -12)

subset_length <- 2
num_subsets <- length(S) - subset_length + 1
subsets <- vector("list", num_subsets)
sums <- numeric(num_subsets)

for (i in 1:(num_subsets - 1)) {
  subsets[[i]] <- S[i:(i + subset_length - 1)]
  sums[i] <- sum(subsets[[i]])
}

# Create a data frame with subsets and their sums
subset_data <- data.frame(Subsets = subsets[1:(num_subsets - 1)], Sums = sums[1:(num_subsets - 1)])
print(subset_data)
##    Subsets.c.3..7. Subsets.c.7...9. Subsets.c..9..12. Subsets.c.12...2.
## 1                3                7                -9                12
## 2                7               -9                12                -2
## 3                3                7                -9                12
## 4                7               -9                12                -2
## 5                3                7                -9                12
## 6                7               -9                12                -2
## 7                3                7                -9                12
## 8                7               -9                12                -2
## 9                3                7                -9                12
## 10               7               -9                12                -2
##    Subsets.c..2..2. Subsets.c.2..15. Subsets.c.15..24. Subsets.c.24...17.
## 1                -2                2                15                 24
## 2                 2               15                24                -17
## 3                -2                2                15                 24
## 4                 2               15                24                -17
## 5                -2                2                15                 24
## 6                 2               15                24                -17
## 7                -2                2                15                 24
## 8                 2               15                24                -17
## 9                -2                2                15                 24
## 10                2               15                24                -17
##    Subsets.c..17..10. Subsets.c.10..21. Sums
## 1                 -17                10   10
## 2                  10                21   -2
## 3                 -17                10    3
## 4                  10                21   10
## 5                 -17                10    0
## 6                  10                21   17
## 7                 -17                10   39
## 8                  10                21    7
## 9                 -17                10   -7
## 10                 10                21   31
S <- c(3, 7, -9, 12, -2, 2, 15, 24, -17, 10, 21, -12)

subset_length <- 3
num_subsets <- length(S) - subset_length + 1
subsets <- vector("list", num_subsets)
sums <- numeric(num_subsets)

for (i in 1:(num_subsets - 1)) {
  subsets[[i]] <- S[i:(i + subset_length - 1)]
  sums[i] <- sum(subsets[[i]])
}
# Create a data frame with subsets and their sums
subset_data <- data.frame(Subsets = subsets[1:(num_subsets - 1)], Sums = sums[1:(num_subsets - 1)])
print(subset_data)
##   Subsets.c.3..7...9. Subsets.c.7...9..12. Subsets.c..9..12...2.
## 1                   3                    7                    -9
## 2                   7                   -9                    12
## 3                  -9                   12                    -2
## 4                   3                    7                    -9
## 5                   7                   -9                    12
## 6                  -9                   12                    -2
## 7                   3                    7                    -9
## 8                   7                   -9                    12
## 9                  -9                   12                    -2
##   Subsets.c.12...2..2. Subsets.c..2..2..15. Subsets.c.2..15..24.
## 1                   12                   -2                    2
## 2                   -2                    2                   15
## 3                    2                   15                   24
## 4                   12                   -2                    2
## 5                   -2                    2                   15
## 6                    2                   15                   24
## 7                   12                   -2                    2
## 8                   -2                    2                   15
## 9                    2                   15                   24
##   Subsets.c.15..24...17. Subsets.c.24...17..10. Subsets.c..17..10..21. Sums
## 1                     15                     24                    -17    1
## 2                     24                    -17                     10   10
## 3                    -17                     10                     21    1
## 4                     15                     24                    -17   12
## 5                     24                    -17                     10   15
## 6                    -17                     10                     21   41
## 7                     15                     24                    -17   22
## 8                     24                    -17                     10   17
## 9                    -17                     10                     21   14
S <- c(3, 7, -9, 12, -2, 2, 15, 24, -17, 10, 21, -12)

subset_length <- 4
num_subsets <- length(S) - subset_length + 1
subsets <- vector("list", num_subsets)
sums <- numeric(num_subsets)

for (i in 1:(num_subsets - 1)) {
  subsets[[i]] <- S[i:(i + subset_length - 1)]
  sums[i] <- sum(subsets[[i]])
}
# Create a data frame with subsets and their sums
subset_data <- data.frame(Subsets = subsets[1:(num_subsets - 1)], Sums = sums[1:(num_subsets - 1)])
print(subset_data)
##   Subsets.c.3..7...9..12. Subsets.c.7...9..12...2. Subsets.c..9..12...2..2.
## 1                       3                        7                       -9
## 2                       7                       -9                       12
## 3                      -9                       12                       -2
## 4                      12                       -2                        2
## 5                       3                        7                       -9
## 6                       7                       -9                       12
## 7                      -9                       12                       -2
## 8                      12                       -2                        2
##   Subsets.c.12...2..2..15. Subsets.c..2..2..15..24. Subsets.c.2..15..24...17.
## 1                       12                       -2                         2
## 2                       -2                        2                        15
## 3                        2                       15                        24
## 4                       15                       24                       -17
## 5                       12                       -2                         2
## 6                       -2                        2                        15
## 7                        2                       15                        24
## 8                       15                       24                       -17
##   Subsets.c.15..24...17..10. Subsets.c.24...17..10..21. Sums
## 1                         15                         24   13
## 2                         24                        -17    8
## 3                        -17                         10    3
## 4                         10                         21   27
## 5                         15                         24   39
## 6                         24                        -17   24
## 7                        -17                         10   32
## 8                         10                         21   38
S <- c(3, 7, -9, 12, -2, 2, 15, 24, -17, 10, 21, -12)

subset_length <- 5
num_subsets <- length(S) - subset_length + 1
subsets <- vector("list", num_subsets)
sums <- numeric(num_subsets)

for (i in 1:(num_subsets - 1)) {
  subsets[[i]] <- S[i:(i + subset_length - 1)]
  sums[i] <- sum(subsets[[i]])
}

print(subset_data)
##   Subsets.c.3..7...9..12. Subsets.c.7...9..12...2. Subsets.c..9..12...2..2.
## 1                       3                        7                       -9
## 2                       7                       -9                       12
## 3                      -9                       12                       -2
## 4                      12                       -2                        2
## 5                       3                        7                       -9
## 6                       7                       -9                       12
## 7                      -9                       12                       -2
## 8                      12                       -2                        2
##   Subsets.c.12...2..2..15. Subsets.c..2..2..15..24. Subsets.c.2..15..24...17.
## 1                       12                       -2                         2
## 2                       -2                        2                        15
## 3                        2                       15                        24
## 4                       15                       24                       -17
## 5                       12                       -2                         2
## 6                       -2                        2                        15
## 7                        2                       15                        24
## 8                       15                       24                       -17
##   Subsets.c.15..24...17..10. Subsets.c.24...17..10..21. Sums
## 1                         15                         24   13
## 2                         24                        -17    8
## 3                        -17                         10    3
## 4                         10                         21   27
## 5                         15                         24   39
## 6                         24                        -17   24
## 7                        -17                         10   32
## 8                         10                         21   38
# To generate a dynamic unique pasword consisting integers we must use the previous set
# and this is a sample of a 12 elements subset
# in this case I will be working on my own example from the first examination and generating the password by using double for loops

S <- c(3, 7, -9, 12, -2, 2, 15, 24, -17, 10, 21, -12)
Size<-12
(RandomSet <- sample(S,Size,rep=TRUE))
##  [1]  10  12  15  21  24  12  21  -2 -12  21  -2   3
# Define Container of subsets
dat <- list()
# Define Container of corresponding sum
Sums <- list()
# Subsets of size 2 consecutive numbers
# just continue the numbering sequence
counter = 0
for (i in 1:(Size-1)){
  for (j in 1:(Size - 2)){
    data <- c(RandomSet[i], RandomSet[i+1])
    counter = counter + 1
    dat[[counter]] <- data
    Sums[[counter]] <-sum(data)
  }
}
# Display results

head(dat)
## [[1]]
## [1] 10 12
## 
## [[2]]
## [1] 10 12
## 
## [[3]]
## [1] 10 12
## 
## [[4]]
## [1] 10 12
## 
## [[5]]
## [1] 10 12
## 
## [[6]]
## [1] 10 12
tail(dat)
## [[1]]
## [1] -2  3
## 
## [[2]]
## [1] -2  3
## 
## [[3]]
## [1] -2  3
## 
## [[4]]
## [1] -2  3
## 
## [[5]]
## [1] -2  3
## 
## [[6]]
## [1] -2  3
password<- RandomSet

# Print the resulting password
print(password)
##  [1]  10  12  15  21  24  12  21  -2 -12  21  -2   3