#include <stdio.h>
#include <locale.h>
#include "module.h"
int main() {
setlocale(LC_CTYPE, "rus");
int floors = 5;
int rooms_per_floor = 4;
int entrances = 4;
int total_rooms = floors * rooms_per_floor * entrances;
int room_number;
printf("Введiть номер квартири (вiд 1 до %d): ", total_rooms);
scanf("%d", &room_number);
if (room_number < 1 || room_number > total_rooms) {
printf("Некоректний номер квартири.\n");
return 1;
}
int entrance, floor, rooms_per_entrance;
determineApartmentLocation(room_number, floors, rooms_per_floor, &entrance, &floor, &rooms_per_entrance);
printf("Квартира %d знаходиться в %d пiд'їздi на %d поверсi. Квартира має %d кiмнат. В квартирi є 1 балкон.\n", room_number, entrance, floor, rooms_per_entrance);
return 0;
}
#pragma once
void determineRoomsPerEntrance(int room_number, int rooms_per_floor, int entrance, int* rooms_per_entrance) {
if (entrance == 1 || entrance == 3) {
*rooms_per_entrance = (room_number % rooms_per_floor == 3) ? 4 : 6;
}
else {
*rooms_per_entrance = (room_number % rooms_per_floor == 2) ? 4 : 6;
}
}
void determineApartmentLocation(int room_number, int floors, int rooms_per_floor, int* entrance, int* floor, int* rooms_per_entrance) {
*entrance = (room_number - 1) / (floors * rooms_per_floor) + 1;
*floor = ((room_number - 1) % (floors * rooms_per_floor)) / rooms_per_floor + 1;
determineRoomsPerEntrance(room_number, rooms_per_floor, *entrance, rooms_per_entrance);
}