Язык программирования RUBY Есть код, в котором необходимо добавить функцию, которая будет отвечать за раздевалку, в которую могут заходить b выходить только мужчины в количестве 2 человека, женщин пускать нельзя. require './semaphore_lib' class BathInOutControl def initialize @male = Semaphore.new(1) @female = Semaphore.new(1) @bath = Semaphore.new(1) @bathState = :neutral @people = 0 @maxpeople = 3 end # Функция входа мужчины в ванную комнату def GetInBathroomMale @male.up! @bath.up! if @bathState != :male && @people <= @maxpeople @bathState = :male @people += 1 @male.down! end # Функция выхода мужчины из ванной комнаты def GetOutBathroomMale @male.up! @people -= 1 @bathState = :neutral if @people == 0 @bath.down! if @people == 0 @male.down! end # Функция входа женщины в ванную комнату def GetInBathroomFemale @female.up! @bath.up! if @bathState != :female && @people <= @maxpeople @bathState = :female @people += 1 @female.down! end # Функция выхода женщины из ванной комнаты def GetOutBathroomFemale @female.up! @people -= 1 @bathState = :neutral if @people == 0 @bath.down! if @people == 0 @female.down! end end bathroom = BathInOutControl.new N = 4 N.times do Thread.new do sleep rand * 5 puts Thread.current.to_s + ' мужчина пытается войти в ванную комнату' bathroom.GetInBathroomMale puts Thread.current.to_s + ' мужчина вошёл в ванную комнату' sleep rand puts Thread.current.to_s + ' мужчина вышел из ванной комнаты' bathroom.GetOutBathroomMale end end N.times do Thread.new do sleep rand * 5 puts Thread.current.to_s + ' женщина пытается войти в ванную комнату' bathroom.GetInBathroomFemale puts Thread.current.to_s + ' женщина вошла в ванную комнату' sleep rand puts Thread.current.to_s + ' женщина вышла из ванной комнаты' bathroom.GetOutBathroomFemale end end Thread.list.each { |t| t.join unless t == Thread.main }
#include <iostream>
using namespace std;
int main()
{
int array[18][12] = {};
for (int i = 0; i < 18; i++)
{
for (int j = 0; j < 12; j++)
{
cin >> array[i][j];
}
cout << endl;
}
int sum = 0;
for (int i = 0; i < 18; i++)
{
int j = 5;
sum += array[i][j];
}
cout << sum;
}
Объяснение:
#include <iostream> // Библиотека ввода-вывода
using namespace std; // Пространство имён
int main()
{
int array[18][12] = {}; // Обнуляем двумерный массив
// Ввод массива
for (int i = 0; i < 18; i++)
{
for (int j = 0; j < 12; j++)
{
cin >> array[i][j]; // Ввод элемента в i строку и j столбец
}
cout << endl; // Перенос на следующую строку
}
// Сумма 6 столбца ( июня )
int sum = 0; // Переменная, которая будет хранить в себе сумму
for (int i = 0; i < 18; i++)
{
int j = 5; // Индексация начинается с нуля ⇒ 6 (июнь) столбец = 5 индексу
sum += array[i][j]; // Сумма i элемента 5 столбца
}
cout << sum; // Вывод суммы
}