Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .github/workflows/review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: PR Agent for NUWM

on:
pull_request:
types: [ opened, reopened ]
types: [ opened, reopened, synchronize, edited ]

jobs:
pr_agent_job:
Expand All @@ -12,13 +12,13 @@ jobs:
- name: pr-agent-nuwm
uses: EzGrade/Pr-Agent-NUWM@main
env:
APP_ID: ${{ secrets.APP_ID }}
GIT_APP_ID: ${{ secrets.GIT_APP_ID }}
GIT_PRIVATE_KEY: ${{ secrets.GIT_PRIVATE_KEY }}
GIT_INSTALLATION_ID: ${{ secrets.GIT_INSTALLATION_ID }}
GIT_REPOSITORY: ${{ github.repository }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
OPENAI_MODEL: ${{ secrets.OPENAI_MODEL }}
INSTALLATION_ID: ${{ secrets.INSTALLATION_ID }}
GOOGLE_CREDENTIALS_CONTENT: ${{ secrets.GOOGLE_CREDENTIALS_CONTENT }}
SPREADSHEET_URL: ${{ secrets.SPREADSHEET_URL }}
SHEETS_NAMING: ${{ secrets.SHEETS_NAMING }}
GOOGLE_SPREADSHEET_URL: ${{ secrets.GOOGLE_SPREADSHEET_URL }}
GOOGLE_SHEETS_NAMING: ${{ secrets.GOOGLE_SHEETS_NAMING }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
102 changes: 87 additions & 15 deletions Program.cs
Original file line number Diff line number Diff line change
@@ -1,24 +1,96 @@
using System;
using System.Linq;

namespace LabWork
namespace PhoneDirectory
{
// Даний проект є шаблоном для виконання лабораторних робіт
// з курсу "Об'єктно-орієнтоване програмування та патерни проектування"
// Необхідно змінювати і дописувати код лише в цьому проекті
// Відео-інструкції щодо роботи з github можна переглянути
// за посиланням https://www.youtube.com/@ViktorZhukovskyy/videos

class Result
{
// TODO: do it !
public class Abonent
{
public string Name { get; }
public string PhoneNumber { get; }

public Abonent(string name, string phoneNumber)
{
if (string.IsNullOrWhiteSpace(name))
throw new ArgumentException("Name cannot be null or empty.", nameof(name));
if (string.IsNullOrWhiteSpace(phoneNumber))
throw new ArgumentException("PhoneNumber cannot be null or empty.", nameof(phoneNumber));

Name = name;
PhoneNumber = phoneNumber;
}

// Метод для обчислення суми цифр номера телефону
public int CalculatePhoneNumberDigitsSum()
{
if (string.IsNullOrEmpty(PhoneNumber))
return 0;

int sum = 0;
foreach (char c in PhoneNumber)
{
if (char.IsDigit(c))
sum += c - '0'; // арифметичне перетворення символа в число
}
return sum;
}
}
class Program

internal class Program
{
static void Main(string[] args)
static void Main()
{

Console.WriteLine("Hello World!");
// Замість жорстко закодованого масиву можна ввести розмір масиву
Console.Write("Введіть кількість абонентів: ");
if (!int.TryParse(Console.ReadLine(), out int n) || n <= 0)
{
Console.WriteLine("Некоректна кількість.");
return;
}

Abonent[] abonents = new Abonent[n];

for (int i = 0; i < n; i++)
{
Console.Write($"Введіть ім'я абонента #{i + 1}: ");
string name = Console.ReadLine();

Console.Write($"Введіть номер телефону абонента #{i + 1}: ");
string phone = Console.ReadLine();

try
{
abonents[i] = new Abonent(name, phone);
}
catch (ArgumentException ex)
{
Console.WriteLine($"Помилка при створенні абонента: {ex.Message}");
i--; // повторити введення для цього індексу
}
}

if (abonents.Length == 0)
{
Console.WriteLine("Масив абонентів пустий.");
return;
}

Abonent maxAbonent = abonents[0];
int maxSum = maxAbonent.CalculatePhoneNumberDigitsSum();

foreach (var ab in abonents)
{
int sum = ab.CalculatePhoneNumberDigitsSum();
Console.WriteLine($"Абонент: {ab.Name}, Номер: {ab.PhoneNumber}, Сума цифр: {sum}");

if (sum > maxSum)
{
maxSum = sum;
maxAbonent = ab;
}
}

Console.WriteLine($"\nАбонент з найбільшою сумою цифр номера телефону: {maxAbonent.Name}, Сума: {maxSum}");
Console.WriteLine("Завершення програми...");
}
}
}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/EBr0CZ_K)
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/wgWXpqsn)
# Методичні вказівки до виконання лабораторної роботи
## Тема: Масиви об’єктів
Expand Down