Я бы хотел отсортировать структуру из 24 различных элементов в порядке убывания. Но я не знаю, есть ли способ сделать это без использования указателей и таблиц в структуре. Я хочу сделать это просто с сохранением различных элементов, и после этого я просматриваю все свои элементы с помощью цикла for и сортирую их в порядке убывания !!
вот моя программа, мои имена переменных находятся на французском языке:
в моем заголовочном файле я объявляю это:
#define SEUIL 5
typedef struct BEO_acc BEO_acc;
// first structure to receive my element and affecte them to my
variables
struct BEO_acc{
int Energie;
int Kilometrage;
int date;
};
typedef struct Historique_BEO_acc Historique_BEO_acc;
// second structure where I want to store all my max values of
energy given by the user
struct Historique_BEO_acc{
int energie1;
int kilomtrage1;
int date1;
int energie2;
int kilomtrage2;
int date2;
int energie3;
int kilomtrage3;
int date3;
int energie4;
int kilomtrage4;
int date4;
int energie5;
int kilomtrage5;
int date5;
int energie6;
int kilomtrage6;
int date6;
int energie7;
int kilomtrage7;
int date7;
int energie8;
int kilomtrage8;
int date8;
};
int FUN_beo_acc(int arg1, int arg2, int arg3);
А вот моя программа cpp:
#include "prototype_beo.h";
#include <stdio.h>;
#define SEUIL 5
#define RESET_VALUE 0
int FUN_beo_acc(int arg1, int arg2, int arg3)
{
BEO_acc accumulateur;
accumulateur.Energie = arg1;
accumulateur.Kilometrage = arg2;
accumulateur.date = arg3;
return accumulateur.Energie;
}
int main(int argc, char *argv[])
{
BEO_acc accumulateur = {RESET_VALUE, RESET_VALUE, RESET_VALUE};
Historique_BEO_acc Historique = {RESET_VALUE, RESET_VALUE,
RESET_VALUE, RESET_VALUE, RESET_VALUE, RESET_VALUE,
RESET_VALUE, RESET_VALUE, RESET_VALUE};
int seuil = SEUIL;
int returned_arg;
int v1, v2, v3;
printf("introduire le premier argument de la fonction \n");
scanf("%d", &v1);
printf("introduire la valeur du deuxième argument ");
scanf("%d", &v2);
printf("introduire la valeur du troisième argument ");
scanf("%d", &v3);
returned_arg = FUN_beo_acc(v1, v2, v3);
while(returned_arg < seuil)
{
printf("introduire le premier argument de la fonction \n");
scanf("%d", &v1);
printf("introduire la valeur du deuxième argument ");
scanf("%d", &v2);
printf("introduire la valeur du troisième argument ");
scanf("%d", &v3);
returned_arg = FUN_beo_acc(v1, v2, v3);
}
if (returned_arg > seuil)
{
accumulateur.Energie = returned_arg;
accumulateur.Kilometrage = v2+10;
accumulateur.date = v3+10;
printf("l''energie max est de : %d ",
accumulateur.Energie);
printf("la distance est de : %d ",
accumulateur.Kilometrage);
printf("la date est de : %d ", accumulateur.date);
}
}
на данный момент я только что сделал некоторые входные значения, и яхранить их в первой структуре. Я хочу каждый раз, когда моя энергия больше 5, я буду хранить ее в великой структуре. в конце своего хранения я отсортирую свою великую структуру и расположу значения в порядке убывания энергии.