Created
April 30, 2022 01:39
-
-
Save gmakc-094423/b03b8702cad9e8f64faefc145449f279 to your computer and use it in GitHub Desktop.
Домашнее задание по 6 семинару
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Задача 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