A voir également:
- Générateur de variables aléatoires
- Generateur mot de passe - Télécharger - Sécurité
- Generateur de cle windows 10 - Guide
- Canva générateur d'image - Accueil - Outils
- Générateur de clé d'activation - Accueil - Windows
- Generateur d image - Guide
3 réponses
Bonjour
Sans rentrer dans les détails que veux-tu dire réellement par des variables aléatoires ? c'est-à-dire faire en sorte que ta variable devienne un des types de variable standard en langage C ou autre ? car, si c'est le cas des variables en langage C tu as
Seconde solution est avec le langage C++ il se peut que tu fasses quelque chose du genre sans rentrer en détails car trop long a expliquer donc voici un exemple tirée de la référence C++11 sur leur site https://en.cppreference.com/w/cpp/language/auto
à bientôt
Sans rentrer dans les détails que veux-tu dire réellement par des variables aléatoires ? c'est-à-dire faire en sorte que ta variable devienne un des types de variable standard en langage C ou autre ? car, si c'est le cas des variables en langage C tu as
autoqui permet de définir un type automatiquement selon ce qui se trouve comme résultat retour dans la variable en question mais par défaut il est du type entier.
Seconde solution est avec le langage C++ il se peut que tu fasses quelque chose du genre sans rentrer en détails car trop long a expliquer donc voici un exemple tirée de la référence C++11 sur leur site https://en.cppreference.com/w/cpp/language/auto
#include <iostream> #include <cmath> #include <typeinfo> template<class T, class U> auto add(T t, U u) -> decltype(t + u) // the return type is the type of operator+(T,U) { return t + u; } auto get_fun(int arg)->double(*)(double) // same as double (*get_fun(int))(double) { switch (arg) { case 1: return std::fabs; case 2: return std::sin; default: return std::cos; } } int main() { auto a = 1 + 2; std::cout << "type of a: " << typeid(a).name() << '\n'; auto b = add(1, 1.2); std::cout << "type of b: " << typeid(b).name() << '\n'; //auto int c; //compile-time error auto d = {1, 2}; std::cout << "type of d: " << typeid(d).name() << '\n'; auto my_lambda = [](int x) { return x + 3; }; std::cout << "my_lambda: " << my_lambda(5) << '\n'; auto my_fun = get_fun(2); std::cout << "type of my_fun: " << typeid(my_fun).name() << '\n'; std::cout << "my_fun: " << my_fun(3) << '\n'; }
à bientôt
Attention Duaam, variable aléatoire ne veut rien dire.
De quoi parles-tu ? De valeur aléatoire ? Si oui, de quel type ? Entier ? Nombre ? Caractère ? Mot ?
Ou tu parles de variable avec des types aléatoires ?
Ou autre ?
Sinon, tu veux programmer en C ou en C++ ? (Juste pour confirmation).
Google is your friend
De quoi parles-tu ? De valeur aléatoire ? Si oui, de quel type ? Entier ? Nombre ? Caractère ? Mot ?
Ou tu parles de variable avec des types aléatoires ?
Ou autre ?
Sinon, tu veux programmer en C ou en C++ ? (Juste pour confirmation).
Google is your friend
Salut :-).
Tu as redit variable aléatoire mais tu voulais dire "valeur" j'imagine ?
De plus, tu n'as pas dit si tu voulais programmer en C ou en C ++ ?
C j'imagine ?
Si oui, il suffit de tirer une variable aléatoire avec rand() de diviser par RAND_MAX pour avoir un float (ou double que je te conseille) entre 0 et 1.
Tu as redit variable aléatoire mais tu voulais dire "valeur" j'imagine ?
De plus, tu n'as pas dit si tu voulais programmer en C ou en C ++ ?
C j'imagine ?
Si oui, il suffit de tirer une variable aléatoire avec rand() de diviser par RAND_MAX pour avoir un float (ou double que je te conseille) entre 0 et 1.
:D je vais plus dire variable alèatoire mais valeur alèatoire .
C'est bien ce que j'ai fait
Voici mon nouveau code :
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
// remplissage de la matrice avec des variables alèatoires entre 0 et 10 //
void remplissage (float T[100][100],int n,int m)
{
int i,j;
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
T[i][j] = (float)rand()/RAND_MAX ;
}
}
//calcul des moyennes marginales //
void moy_marg (float M[100][100],float T[100],int *l,int *p)
{
int i,j;float s;
for (i=0;i<*l;i++)
{
s=0;
for (j=0;j<*p;j++)
{
s=s+M[i][j];}
T[i]=s/(*p);}
}
//calcul de la variance //
void var_ecar(float M[100][100],float V[100],float W[100],int *l,int *p)
{
int i,j;
float r,T[100];
for (i=0;i<*l;i++)
{
r=0;
for(j=0;j<*p;j++)
{
r=r+((M[i][j]-T[i])*(M[i][j]-T[i]));
}V[i]=r/(*p);
W[i]=sqrt(V[i]);
}
}
void affichage (float N[100],int c)
{
int i;
for(i=0;i<c;i++)
{
printf("%f \n",N[i]);
}printf("\n");}
void affichagem (float N[100][100],int c,int d)
{
int i,j;
for(i=0;i<c;i++)
{
for(j=0;j<d;j++){
printf("%f\t",N[i][j]);
}
printf("\n");}
}
main()
{
int n,m,i,j; float M[100][100], V[100],T[100],W[100];
system("color 1D");
printf("Donnez les dimensions de votre matrice :\n");
printf("Donnez n=");
scanf("%i",&n);
printf("Donnez m=");
scanf("%i",&m);
srand(time(NULL));
remplissage(M,n,m);
affichagem (M,n,m);
moy_marg(M,T,&n,&m);
system("color 4E");
printf("voici votre vecteur moyennes :\n");
affichage (T,n);
var_ecar (M,V,W,&n,&m);
printf("Voici votre vecteur variance :\n");
affichage (V,n);
system("color 3F");
printf("Voici votre vecteur ecart type :\n");
affichage (W,n);
system("pause");
return 0;
}
Mais :( j'ai entendu parler des lois ,veut dire qu'un générateur de valeurs aléatoires doit suivre une loi normal ou loi de Poisson pour générer des valeurs aléatoires !!!
C'est bien ce que j'ai fait
Voici mon nouveau code :
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
// remplissage de la matrice avec des variables alèatoires entre 0 et 10 //
void remplissage (float T[100][100],int n,int m)
{
int i,j;
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
T[i][j] = (float)rand()/RAND_MAX ;
}
}
//calcul des moyennes marginales //
void moy_marg (float M[100][100],float T[100],int *l,int *p)
{
int i,j;float s;
for (i=0;i<*l;i++)
{
s=0;
for (j=0;j<*p;j++)
{
s=s+M[i][j];}
T[i]=s/(*p);}
}
//calcul de la variance //
void var_ecar(float M[100][100],float V[100],float W[100],int *l,int *p)
{
int i,j;
float r,T[100];
for (i=0;i<*l;i++)
{
r=0;
for(j=0;j<*p;j++)
{
r=r+((M[i][j]-T[i])*(M[i][j]-T[i]));
}V[i]=r/(*p);
W[i]=sqrt(V[i]);
}
}
void affichage (float N[100],int c)
{
int i;
for(i=0;i<c;i++)
{
printf("%f \n",N[i]);
}printf("\n");}
void affichagem (float N[100][100],int c,int d)
{
int i,j;
for(i=0;i<c;i++)
{
for(j=0;j<d;j++){
printf("%f\t",N[i][j]);
}
printf("\n");}
}
main()
{
int n,m,i,j; float M[100][100], V[100],T[100],W[100];
system("color 1D");
printf("Donnez les dimensions de votre matrice :\n");
printf("Donnez n=");
scanf("%i",&n);
printf("Donnez m=");
scanf("%i",&m);
srand(time(NULL));
remplissage(M,n,m);
affichagem (M,n,m);
moy_marg(M,T,&n,&m);
system("color 4E");
printf("voici votre vecteur moyennes :\n");
affichage (T,n);
var_ecar (M,V,W,&n,&m);
printf("Voici votre vecteur variance :\n");
affichage (V,n);
system("color 3F");
printf("Voici votre vecteur ecart type :\n");
affichage (W,n);
system("pause");
return 0;
}
Mais :( j'ai entendu parler des lois ,veut dire qu'un générateur de valeurs aléatoires doit suivre une loi normal ou loi de Poisson pour générer des valeurs aléatoires !!!
Merci pour votre réponse :)
À vrai dire ,moi je travaille avec l'environnement Dev C++ et je cherche d'insérer une procédure afin de remplir ma matrice avec des variables aléatoires
Cette procédure doit contenir un générateur qui fonctionne avec la loi de Poisson ou autres lois .
Cdlt
Je n'ai pas été claire Lol je parle du mots-clés auto en langage C
autant pour moi