Виталий_Ильназ574
?>

Решить на c напишите программу, позволяющую сравнить две обыкновенные дроби. ввод на ввод подается четыре целых положительных числа (все числа не превышают 10000 ): в первой строке числитель и знаменатель первой дроби, во второй строке числитель и знаменатель второй дроби. вывод если первая дробь меньше второй, выведите ‘< ’, если дроби равны, выведите ‘=’, если первая дробь больше второй, выведите ‘> ’.

Информатика

Ответы

scraer198258
Using System;
namespace Fractions{    public struct Fraction : IComparable<Fraction>    {        public Fraction(int numerator, int denominator)        {            Numerator = numerator;            Denominator = denominator;        }
        public int Numerator;        public int Denominator;
        public int CompareTo(Fraction other)        {            return (Numerator * other.Denominator).CompareTo(other.Numerator * Denominator);        }    }
    public class Program    {        static void Main(string[] args)        {            int numerator, denominator;
            Console.Write("Числитель первой дроби ");            numerator = int.Parse(Console.ReadLine());            Console.Write("Знаменатель первой дроби ");            denominator = int.Parse(Console.ReadLine());            var fraction1 = new Fraction(numerator, denominator);
            Console.Write("Числитель второй дроби ");            numerator = int.Parse(Console.ReadLine());            Console.Write("Знаменатель второй дроби ");            denominator = int.Parse(Console.ReadLine());            var fraction2 = new Fraction(numerator, denominator);
            var compareResult = fraction1.CompareTo(fraction2);            if (compareResult < 0)                Console.WriteLine("<");            else if (compareResult > 0)                Console.WriteLine(">");            else // = 0                Console.WriteLine("=");        }    }}
xarfagr
'); 
writeln(); 
goto metk;  
end.

Вот это уже лучше и вроде работает
оператор goto используется для перемещения между  операциями(сложить вычесть считать), выходом и меню.

 label     
sum,razn,menu,re,ex;       
var   
m,a,b : integer;  
begin 
menu :   
writeln ('1 - считать числа');   
writeln ('2 - сложить числа');   
writeln ('3 - вычесть числа');   
writeln ('0 - выход');   
readln (m); 
case m of        //Если не знаешь case то можешь заменить операторами if
1 : goto re;      // Пример if m = 1 then goto re;
2 : goto sum;  // if m = 2 then goto sum; //и т.д
3 : goto razn;   
0 : goto ex; 
end;    

re :   
writeln ('Введите числа (a b)');   
readln (a,b);   
goto menu;   

sum :   
writeln ('Сумма =',a+b);   
goto menu;   

razn :   
writeln ('Разность =',a-b);   
goto menu;   

ex :   
writeln ('До встречи');   
sleep (1000);       // просто задержка перед закрытием на 1с
end.

Насколько мне известно в программирование оператор goto популярностью не пользуется и вообще его стараются избегать
Тарбаева1243
// F#
let rec getNumberFromConsole _ =
    let str = System.Console.ReadLine()
    let mutable number = 0
    if System.Int32.TryParse(str, &number)
        then number
        else getNumberFromConsole null
let rec getCommonNumber number1 number2 commonNumber multiplier =
    if number1 > 0 && number2 > 0
        then getCommonNumber (number1 / 10) (number2 / 10) (commonNumber + (number1 % 10) * 10 * multiplier + (number2 % 10) * multiplier) (multiplier * 100)
        else commonNumber
[<EntryPoint>]
let main argv =
    let number1 = getNumberFromConsole null
    let number2 = getNumberFromConsole null
    let result = getCommonNumber number1 number2 0 1
    System.Console.WriteLine result
    System.Console.ReadKey true |> ignore
    0

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решить на c напишите программу, позволяющую сравнить две обыкновенные дроби. ввод на ввод подается четыре целых положительных числа (все числа не превышают 10000 ): в первой строке числитель и знаменатель первой дроби, во второй строке числитель и знаменатель второй дроби. вывод если первая дробь меньше второй, выведите ‘< ’, если дроби равны, выведите ‘=’, если первая дробь больше второй, выведите ‘> ’.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

porotikova1004
Nataliatkachenko1
Corneewan
titov-es3095
natalia595977
teashop
Kalugin Vyacheslavovna605
Novikova
tkozina
svetarakityanskaya
generallor3
Chikichev456
Ромеовна1527
Мартынова1638
Буянто1346