Типовая задача на разбор случаев. Разбирать случаи будем не простым последовательным перечислением, а более сложной конструкцией из вложенных условных операторов.
Решение задачи.
Var a1, b1, c1, {коэффициенты уравнения первой прямой}
a2,b2,c2, {коэффициенты уравнения второй прямой}
x, y : Real; {координаты точки пересечения }
BEGIN
ReadLn( a1, b1, c1);
ReadLn( a2, b2, c2);
If ( (a1=0) and (b1=0) ) or ( (a2=0) and (b2=0) )
then WriteLn( 'это не прямая (прямые). ' )
else
if (a1*b2=a2*b1) and (a1*c2=a2*c1) {условие совпадения}
then WriteLn( 'прямые совпадают.' )
else
if a1*b2 = a2*b1 {условие параллельности}
then WriteLn('прямые параллельны.')
else begin x:=(c1*b2-c2*b1)/(b1*a2-b2*a1);
y:=(c2*a1-c1*a2)/(b1*a2-b2*a1);
WriteLn('координаты точки пересечения :',
' x = ', x : 5 : 2 , ', y = ', y : 5 : 2);
end;
END.
using System;
using System.Linq; //Оно не может в многомерные массивы :(
namespace CSLearn
{
class Program
{
static void Main(string[] args)
{
//Объявляем всякое
Random random = new Random();
const int n = 5;
const int m = 10;
int counter = 0;
int[,] myarray = new int[n, m];
//Забьём наш массив рандомными элементами
for (int row = 0; row < n; row++)
{
for (int pos = 0; pos < m; pos++)
{
myarray[row, pos] = random.Next(-99, 99);
}
}
//Пробежимся по всему нашему массиву, и посчитаем кол-во элементов, удовлетворяющих условиям.
foreach (int item in myarray)
{
if (item > -9 && item < 0) counter++;
}
Console.WriteLine(counter);
Console.ReadKey();
}
}
}
p.s Осторожно, код написан питонистом :D
Объяснение: На компьютерном есть комьпьютер, возможно бумаги