Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save gmakc-094423/b03b8702cad9e8f64faefc145449f279 to your computer and use it in GitHub Desktop.
Save gmakc-094423/b03b8702cad9e8f64faefc145449f279 to your computer and use it in GitHub Desktop.
Домашнее задание по 6 семинару
// Задача 41. Пользователь вводит с клавиатуры M чисел. Посчитайте, сколько чисел больше 0 ввёл пользователь.
// 0, 7, 8, -2, -2 -> 2
// -1, -7, 567, 89, 223-> 3
Console.Clear();
Console.WriteLine($"Задача 41. Cколько чисел больше 0 ввёл пользователь \n");
Console.Write($"Введи число М(количество чисел): ");
int m = Convert.ToInt32(Console.ReadLine());
int[] massiveNumbers = new int[m];
void InputNumbers(int m){
for (int i = 0; i < m; i++)
{
Console.Write($"Введи {i+1} число: ");
massiveNumbers[i] = Convert.ToInt32(Console.ReadLine());
}
}
int Comparison(int[] massiveNumbers)
{
int count = 0;
for (int i = 0; i < massiveNumbers.Length; i++)
{
if(massiveNumbers[i] > 0 ) count += 1;
}
return count;
}
InputNumbers(m);
Console.WriteLine($"Введено чисел больше 0: {Comparison(massiveNumbers)} ");
// Задача 43. Напишите программу, которая найдёт точку пересечения двух прямых, заданных уравнениями y = k1 * x + b1, y = k2 * x + b2; значения b1, k1, b2 и k2 задаются пользователем.
// b1 = 2, k1 = 5, b2 = 4, k2 = 9 -> (-0,5; 5,5)
Console.WriteLine($"\nЗадача 43. Найти точку пересечения двух прямых \n");
double[,] coeff = new double[2, 2];
double[] crossPoint = new double[2];
void InputCoefficients(){
for (int i = 0; i < coeff.GetLength(0); i++)
{
Console.Write($"Введите коэффициенты {i+1}-го уравнения (y = k * x + b):\n");
for (int j = 0; j < coeff.GetLength(1); j++)
{
if(j==0) Console.Write($"Введите коэффициент k: ");
else Console.Write($"Введите коэффициент b: ");
coeff[i,j] = Convert.ToInt32(Console.ReadLine());
}
}
}
double[] Decision(double[,] coeff)
{
crossPoint[0] = (coeff[1,1] - coeff[0,1]) / (coeff[0,0] - coeff[1,0]);
crossPoint[1] = crossPoint[0] * coeff[0,0] + coeff[0,1];
return crossPoint;
}
void OutputResponse(double[,] coeff)
{
if (coeff[0,0] == coeff[1,0] && coeff[0,1] == coeff[1,1])
{
Console.Write($"\nПрямые совпадают");
}
else if (coeff[0,0] == coeff[1,0] && coeff[0,1] != coeff[1,1])
{
Console.Write($"\nПрямые параллельны");
}
else
{
Decision(coeff);
Console.Write($"\nТочка пересечения прямых: ({crossPoint[0]}, {crossPoint[1]})");
}
}
InputCoefficients();
OutputResponse(coeff);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment