Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- =begin
- if (char < 'a' || char > 'z') && char != ' '
- text[i] = ''
- i -= 1
- end
- for j in 0...size
- addMatrix[i][j] += matrix[i][j]
- end
- =end
- =begin
- Эта программа имеет 20 строгих и 72 нестрогих предупреждения
- =end
- def create_matrix(size)
- Array.new(size) do |r|
- Array.new(size) do |c|
- rand(10)
- end
- end
- end
- def print_matrix(m)
- m.each { |r| p r }
- puts
- end
- =begin
- Тест комментов:
- if a === b
- puts(a===b)
- end
- loop do
- puts "1. Операции с матрицами \n
- 2. Операции со строками \n
- 3. Выход \n
- >>>"
- end
- =end
- loop do
- puts "1. Операции с матрицами \n
- 2. Операции со строками \n
- 3. Выход \n
- >>>"
- mainInput = gets.chomp.to_i
- case mainInput
- when 1
- puts "1. Ввести матрицу \n
- 2. Сложить \n
- 3. Отнять \n
- 4. Умножить \n
- 5. Возвести в квадрат \n
- 6. Выйти \n
- >>>"
- userInput = gets.chomp.to_i
- case userInput
- when 1
- puts "Выберете размер матрицы nxn: "
- size = gets.chomp.to_i
- matrix = create_matrix(size)
- when 2
- puts "Выберете размер для матриц: "
- size = gets.chomp.to_i
- matrix = create_matrix(size)
- puts "Первая матрица имеет вид: "
- print_matrix(matrix)
- addMatrix = create_matrix(size)
- puts "Вторая матрица имеет вид: "
- print_matrix(addMatrix)
- for i in 0...size
- end
- puts "Результат сложения: "
- print_matrix(addMatrix)
- when 3
- puts "Выберете размер матриц: "
- size = gets.chomp.to_i
- matrix = create_matrix(size)
- puts "Первая матрица имеет вид: "
- print_matrix(matrix)
- addMatrix = create_matrix(size)
- puts "Вторая матрица имеет вид: "
- print_matrix(addMatrix)
- (0...size).each { |i|
- (0...size).each { |j|
- addMatrix[i][j] -= matrix[i][j]
- }
- }
- puts "Результат их разности: "
- print_matrix(addMatrix)
- when 4
- puts "Выберете размер матриц: "
- size = gets.chomp.to_i
- matrix = create_matrix(size)
- puts "Первая матрица имеет вид: "
- print_matrix(matrix)
- addMatrix = create_matrix(size)
- puts "Вторая матрица имеет вид: "
- print_matrix(addMatrix)
- resultMatrix = create_matrix(size)
- matrix.each_index do |i|
- addMatrix[i].each_index do |j|
- sum = 0
- (0...size).each do |k|
- sum += (matrix[i][j + k] * addMatrix[j + k][i])
- end
- resultMatrix[i][j] = sum
- end
- end
- puts "Результирующая матрица имеет вид:"
- print_matrix(resultMatrix)
- when 5
- puts "Выберете размер матрицы: "
- size = gets.chomp.to_i
- matrix = create_matrix(size)
- puts "Матрица имеет вид: "
- print_matrix(matrix)
- resultMatrix = create_matrix(size)
- matrix.each_index {|i|
- sum = 0
- (0...size).each do |k|
- sum += (matrix[i][i + k] * matrix[i + k][i])
- resultMatrix[i][i] = sum
- end
- }
- puts "Результат возведения: "
- print_matrix(resultMatrix)
- when 6
- break
- else
- puts "Такой опции не существует, попробуйте снова ..."
- end
- when 2
- puts "1. Частота вхождений символов в строку \n
- 2. Фильтрация ввода \n
- 3. Выход
- >>>"
- userInput = gets.chomp.to_i
- case userInput
- when 1
- puts "Введите строку на латинице: "
- text = gets
- text.downcase!
- freqs = {}
- freqs.default = 0
- text.each_char { |char|
- freqs[char] += 1
- }
- ('a'..'z').each {|x|
- puts x.to_str + " : " + freqs[x].to_s
- }
- when 2
- puts "Введите строку: "
- text = gets
- i = 0
- while i < text.length.to_i do
- char = text[i]
- i += 1
- end
- puts text
- when 3
- break
- else
- puts "Такой опции не существует, попробуйте снова ..."
- end
- when 3
- break
- else
- puts "Такой опции не существует, попробуйте снова ..."
- end
- end
- =begin
- Эта программа умеет работать:
- со строками
- с матрицами
- Она может выполнить следующие действия над матрицей:
- Ввести матрицу
- Сложить
- Отнять
- Умножить
- Возвести в квадрат
- =end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement