Одномерные массивы. Практическое занятие 1

preview_player
Показать описание

На этой лекции мы проведем практическую работу по использованию одномерных массивов. Ниже описаны условия задач.

Задача 1.
Дан массив целых чисел [0,5,2,4,7,1,3,19]. Напишите программу для подсчета количества нечетных чисел в нем.

Задача 2
Размер массива задается именованной константой (значение должно быть нечетным). Напишите код который заполнит массив последовательностью целых чисел (начинающихся с единицы) которые сначала возрастают, а потом убывают с шагом 1.

Задача 3
Дан массив целых чисел [0,5,2,4,7,1,3,19]. Напишите программу для его реверса с помощью одного цикла. Под реверсом понимается такая перестановка элементов массива, что бы получился массив [19,3,1,7,4,2,5,0].

00:00 Вступление
00:21 Задание 1
03:48 Задание 2
09:22 Задание 3
Рекомендации по теме
Комментарии
Автор

Beautiful solution for No. 3, Dr. Tsymbaliuk!! I misunderstood the task, so I did it the wrong way, using 2 arrays :( Your solution is, as always, neat, accurate, concise, to the point and simply enjoyable to watch :) Thank you :)

romanbouchouiev
Автор

Курс очень полезен.Спасибо Вам большое

РостиславХозин
Автор

Александр, спасибо за ваш труд на ютюбе. И за то, что выбрали преподавание именно на русском языке, фактически проживая и работая в Украине.
Надеюсь, что у вас сейчас всё хорошо, и пусть поскорее вернётся мирное небо над головой!

polkooooo
Автор

I knew there was a smarter way to do that but I could not figure it out :) So I just added an extra variable and had it increase by 2 with each iteration :) Adding 1 and then subtracting i is definitely a better option. Please find my code below. May I ask you a question, Dr. Tsymbaliuk? Is it possible to modify my solution or yours so that the array size is defined by the user (i.e. keyboard input)? I tried and I failed :) Thank you.
program pyramid_array
implicit none

integer:: arr(9), i, minus
minus = 0

do i = 1, size(arr)
if (i <= size(arr)/2+1) then
arr(i) = i
else
minus = minus + 2
arr(i) = i - minus
end if
end do

write(*, *)arr

end program pyramid_array

romanbouchouiev
Автор

Пожалуйста, сделайте занятие по построению графиков

РостиславХозин
Автор

Здравствуйте. А почему у меня код некорректно работает для второй задачи? Не могу понять...
program p2
implicit none
integer, parameter :: a_size = 7
integer :: a(a_size), j, i
j = 2
do i=1, a_size/2+1
a(i) = i
end do

do i=a_size/2+2, a_size
a(i) = i-j
j = j+1
end do

write (*, *) a
end program p2

ЕленаЛемешкова-хъ
Автор

А 3 задание вообще в одну строку...
program p3
implicit none
integer :: a(8), b(8), i
a = [0, 5, 2, 4, 7, 1, 3, 19]

do i=1, size(a, dim = 1)
b(i) = a(9-i)
end do

write(*, *) b
end program p3

ЕленаЛемешкова-хъ
Автор

мне кажется или 3 задание можно было бы гораздо проще решить так?

program hello
implicit none
integer, parameter :: razm = 8
integer :: mass(razm), i, mass_rev(razm)

mass = [0, 5, 2, 4, 7, 1, 3, 19]

do i = 1, razm
mass_rev (i) = mass(razm - i + 1)


end do
write (*, *) mass_rev
end program hello

teem
visit shbcf.ru