Created
March 13, 2012 15:07
-
-
Save seniorihor/2029326 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
# -*- coding: utf-8 -*- | |
# Author: seniorihor (12.03.2012) | |
class MyArray | |
def initialize | |
@array = [] | |
@max_positive = 0 | |
@max_minimum = 0 | |
end | |
def show_condition | |
print <<-CONDITION | |
1. Дан целочисленный массив. Необходимо вывести вначале его элементы с четными индексами, а затем - с нечетными. (COMPLETE!) | |
2. Дан целочисленный массив. Необходимо вывести вначале его элементы с нечетными индексами, а затем - четными. (COMPLETE!) | |
3. Дан целочисленный массив. Вывести номер первого из тех его элементов, которые удовлетворяют двойному неравенству: A[0] < A[i] < A[-1]. Если таких элементов нет, то вывести [ ]. (COMPLETE!) | |
4. Дан целочисленный массив. Вывести номер последнего из тех его элементов, которые удовлетворяют двойному неравенству: A[0] < A[i] < A[-1]. Если таких элементов нет, то вывести [ ]. (COMPLETE!) | |
5. Дан целочисленный массив. Преобразовать его, прибавив к четным числам первый элемент. Первый и последний элементы массива не изменять. (COMPLETE!) | |
6. Дан целочисленный массив. Преобразовать его, прибавив к четным числам последний элемент. Первый и последний элементы массива не изменять. (COMPLETE!) | |
7. Дан целочисленный массив. Преобразовать его, прибавив к нечетным числам последний элемент. Первый и последний элементы массива не изменять. (COMPLETE!) | |
8. Дан целочисленный массив. Преобразовать его, прибавив к нечетным числам первый элемент. Первый и последний элементы массива не изменять. (COMPLETE!) | |
9. Дан целочисленный массив. Заменить все положительные элементы на значение минимального. | |
10. Дан целочисленный массив. Заменить все положительные элементы на значение максимального. | |
11. Дан целочисленный массив. Заменить все отрицательные элементы на значение минимального. | |
12. Дан целочисленный массив. Заменить все отрицательные элементы на значение максимального. | |
13. Дан целочисленный массив. Осуществить циклический сдвиг элементов массива влево на одну позицию. | |
14. Дан целочисленный массив. Осуществить циклический сдвиг элементов массива вправо на одну позицию. | |
15. Дан целочисленный массив. Проверить, образуют ли элементы арифметическую прогрессию. Если да, то вывести разность прогрессии, если нет - вывести nil. | |
16. Дан целочисленный массив. Проверить, образуют ли элементы геометрическую прогрессию. Если да, то вывести знаменатель прогрессии, если нет - вывести nil. | |
17. Дан целочисленный массив. Найти количество его локальных максимумов. | |
18. Дан целочисленный массив. Найти количество его локальных минимумов. | |
19. Дан целочисленный массив. Найти максимальный из его локальных максимумов. | |
20. Дан целочисленный массив. Найти минимальный из его локальных минимумов. | |
21. Дан целочисленный массив. Определить количество участков, на которых его элементы монотонно возрастают. | |
22. Дан целочисленный массив. Определить количество участков, на которых его элементы монотонно убывают. | |
CONDITION | |
end | |
def create_an_array | |
@array = gets.chomp.split(' ').collect! {|i| i = i.to_i} | |
end | |
def print_numbers_with_odd_indices | |
@array.index(@array.first).upto(@array.rindex(@array.last)) do |i| | |
case @array.index(@array[i]) %2 != 0 | |
when true | |
print @array[i], ' ' | |
end | |
end | |
end | |
def print_numbers_with_even_indices | |
@array.index(@array.first).upto(@array.rindex(@array.last)) do |i| | |
case @array.index(@array[i]) %2 == 0 | |
when true | |
print @array[i], ' ' | |
end | |
end | |
end | |
def first_element_greater_than_first_and_less_than_last | |
@array.index(@array.first).upto(@array.rindex(@array.last)) do |i| | |
case @array[i] > @array.first and @array[i] < @array.last | |
when true | |
puts @array[i] | |
break | |
end | |
case i | |
when @array.rindex(@array.last) | |
puts '[ ]' | |
end | |
end | |
end | |
def last_element_greater_than_first_and_less_than_last | |
@array.rindex(@array.last).downto(@array.index(@array.first)) do |i| | |
case @array[i] > @array.first and @array[i] < @array.last | |
when true | |
puts @array[i] | |
break | |
end | |
case i | |
when @array.index(@array.first) | |
puts '[ ]' | |
end | |
end | |
end | |
def adding_the_first_element_to_even_numbers | |
print @array.first, ' ' | |
@array.index(@array.first)+1.upto(@array.rindex(@array.last)-1) do |i| | |
case @array[i] %2 == 0 | |
when true | |
print @array[i]+=@array.first, ' ' | |
else print @array[i], ' ' | |
end | |
end | |
puts @array.last | |
end | |
def adding_the_last_element_to_even_numbers | |
print @array.first, ' ' | |
@array.index(@array.first)+1.upto(@array.rindex(@array.last)-1) do |i| | |
case @array[i] %2 == 0 | |
when true | |
print @array[i]+=@array.last, ' ' | |
else print @array[i], ' ' | |
end | |
end | |
puts @array.last | |
end | |
def adding_the_first_element_to_odd_numbers | |
print @array.first, ' ' | |
@array.index(@array.first)+1.upto(@array.rindex(@array.last)-1) do |i| | |
case @array[i] %2 != 0 | |
when true | |
print @array[i]+=@array.first, ' ' | |
else print @array[i], ' ' | |
end | |
end | |
puts @array.last | |
end | |
def adding_the_last_element_to_odd_numbers | |
print @array.first, ' ' | |
@array.index(@array.first)+1.upto(@array.rindex(@array.last)-1) do |i| | |
case @array[i] %2 != 0 | |
when true | |
print @array[i]+=@array.last, ' ' | |
else print @array[i], ' ' | |
end | |
end | |
puts @array.last | |
end | |
def find_the_maximum_positive_element | |
@max_positive = 0 | |
@array.index(@array.first).upto(@array.rindex(@array.last)) do |i| | |
# case @array[i] > @max_positive | |
# when true | |
# @max_positive = @array[i] | |
# puts @max_positive | |
# puts @array[i] | |
# else puts 'ne true' | |
# end | |
print @array.max>0 ? @array.max : nil | |
end | |
end | |
def find_the_minimum_positive_element | |
# в процесі... | |
end | |
def replace_all_the_positive_elements_to_the_minimum | |
@array.index(@array.first).upto(@array.rindex(@array.last)) do |i| | |
case @array[i] >= 0 | |
when true | |
@array[i] = @array.min | |
print @array[i], ' ' | |
else print @array[i], ' ' | |
end | |
end | |
end | |
def replace_all_the_positive_elements_to_the_maximum | |
@array.index(@array.first).upto(@array.rindex(@array.last)) do |i| | |
case @array[i] >= 0 | |
when true | |
@array[i] = @array.max | |
print @array[i], ' ' | |
else print @array[i], ' ' | |
end | |
end | |
end | |
end | |
ma = MyArray.new | |
#ma.show_condition | |
ma.create_an_array | |
#ma.print_numbers_with_even_indices | |
#ma.print_numbers_with_odd_indices | |
#ma.first_element_greater_than_first_and_less_than_last | |
#ma.last_element_greater_than_first_and_less_than_last | |
#ma.adding_the_first_element_to_even_numbers | |
#ma.adding_the_last_element_to_even_numbers | |
#ma.adding_the_first_element_to_odd_numbers | |
#ma.adding_the_last_element_to_odd_numbers | |
#ma.replace_all_the_positive_elements_to_the_minimum | |
#ma.replace_all_the_positive_elements_to_the_maximum | |
ma.find_the_minimum_positive_element |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment