Прога по Структурам

3aP9

Ни могу понять как в массив забить рациональное число((( Вот задание:Ввести структуру (с полями числитель и знаменатель) для описания понятия рациональное число. Составить и протестировать функции: б) МАКС (X, N), которая возвращает наибольшее из массива X[N] рациональных чисел.
6 ответов

3aP9

#include <stdio.h>
 
typedef struct rat
{
   int numen, denumen;
} rational;
 
****** ********(rational one)
{
    return (******)(one.numen)/one.denumen;
}
 
rational max(rational* Arr, int N)
{
     rational maxim=*Arr;
     int i=0;
     for(i=0; i<N; ++i)
     {
          if(********(Arr[i]) > ********(maxim))
               maxim=Arr[i];
     }
     return maxim;
}
int main(void)
{
    const int n=5;
    rational Arr[n];
    for(int i=0; i<n; ++i)
    {
        printf("Enter numenator and denumenator for %d fraction\n", i);
        scanf("%d %d", &Arr[i].numen, &Arr[i].denumen);
    }
    rational one=max(Arr, n);
    printf("Max is: %d/%d", one.numen, one.denumen);
    return 0;
}


3aP9

крута!! а так чтоб я понял что ты тут написал слабо???


3aP9

3aP9, А это уже вопросы к твоим знаниям. Писал на Си, не затрагивая ни потоки, ничего. И вообще ничего тяжелого в программу не вставлял. Так что сиди понимай


3aP9

Ну я студяга первого курса и я писал тока простинькие проги в С++ и такому : printf, scanf, maxim=*Arr, нас не учили, вашпе первый рас в жизни вижу такие команды!((


3aP9

О как. Ладно. А так?
#include <iostream>
 
struct rational
{
   int numen, denumen;
};
 
****** ********(rational one)
{
    return (******)(one.numen)/one.denumen;
}
 
rational max(rational* Arr, int N)
{
     rational maxim=Arr[0];
     int i=0;
     for(i=0; i<N; ++i)
     {
          if(********(Arr[i]) > ********(maxim))
               maxim=Arr[i];
     }
     return maxim;
}
int main(void)
{
        const int n=5;
        rational Arr[n];
        for(int i=0; i<n; ++i)
        {
                std::cout<<"Enter numenator and denumenator for "<< i+1 <<" fraction\n";
                std::cin>>Arr[i].numen>>Arr[i].denumen;
        }
        rational one=max(Arr, n);
        std::cout<<"Max is: "<< one.numen <<'/'<< one.denumen <<'\n';
        return 0;
}


3aP9

Большое спасибо теперь почти всё понятно))