begin process at 2012 05 30 14:56:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

rectification dune code C et/ou aide sur l'algorithme


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

rectification dune code C et/ou aide sur l'algorithme

jeudi 27 mai 2010 à 04:20:07 | rectification dune code C et/ou aide sur l'algorithme

negets







bonjour, besoin d'aide; j'aimerai dégager l'algorithme de ce code afin de le programmer sous matlab je connais plus rien en C et C++(je commence à lire le cours ya une semaine) ; si vous pouvez me rectifiez le code je me chargerai des détails .merci infiniment !!


#include <math.h>
#include <stdio.h>
#include <float.h>
#include <limits.h>
#include <stdlib.h>
#include <string.h>
#define MAX_RANDOM LONG_MAX // Maximum value of random()

int i,j,l, ndx;
int n, k;
int code[1024];
int red[1024], info[1024];
int m;
int parity[10];
int syn;
int error;

int test, result;

main(int argc, char *argv[])
{

if (argc != 3)
{
printf("Usage: %s m position_error\n", argv[0]);
// exit(0);
}

sscanf(argv[1],"%d", &m);
sscanf(argv[2],"%d", &error);

n = pow(2,m)-1;
k = n - m;

// Compute parity positions
parity[1] = 1;
for (i=2; i<=m; i++)
parity[i] = (parity[i-1]<<1) & 0xfffffffe;

printf("parity positions: ");
for (i=1; i<=m; i++) printf("%2d ", parity[i]); printf("\n");

// Generate random message
for (i=1; i<=k; i++)
info[i] = ( rand() >> 10) & 0x01;

printf("information bits = ");
for (j=1; j<=k; j++) printf("%1d", info[j]);
printf("\n");

// Compute parity bits
for (j=1; j<=m; j++)
{
red[j] = 0;
l = 0;
for (i=1; i<=n; i++)
{
// Check that "i" is not a parity position = not a power of 2
result = 0;
test = 1;
for (ndx=1; ndx<=m; ndx++)
{
if (i==test) result = 1;
test *= 2;
}
if (!result)
{
l++;
if ( (i>>(j-1)) & 0x01 )
red[j] ^= info[l];
}
}
}

printf("parity bits = ");
for (j=1; j<=m; j++) printf("%1d", red[j]);
printf("\n");

// Transmit codeword
i = 1;
l = 1;
for (j=1; j<=n; j++)
if (j==parity[l] && l<=m)
{
code[j] = red[l]; l++;
}
else
{
code[j] = info[i]; i++;
}


printf("codeword = ");
for (j=1; j<=n; j++) printf("%1d", code[j]);
printf("\n");

// Add a hard error
code[error] ^= 1;

printf("received = ");
for (j=1; j<=n; j++) printf("%1d", code[j]);
printf("\n");

// Compute syndrome
syn = 0;
for (i=1; i<=n; i++)
if (code[i]) syn ^= i;

printf("syndrome = %d\n", syn);

// Correct error if needed
if (syn)
code[syn] ^= 1;

printf("estimate = ");
for (j=1; j<=n; j++) printf("%1d", code[j]);
printf("\n");

}

mercredi 2 juin 2010 à 16:43:20 | Re : rectification dune code C et/ou aide sur l'algorithme

katerson

Désolé mais je ne comprends pas ce que tu veux : rectifier le code ou sortir l'algorithme?

Ce code ne me semble pas sorcier: des IF, FOR, PRINTF et le code est commenté (je pense qu'en une semaine de cours c, tu pourrais en sortir quelque chose...)

Commence par nous dire ce que tu as compris et ce qui pose problème ?


Cette discussion est classée dans : code, int, printf, include, for


Répondre à ce message

Sujets en rapport avec ce message

HELP [ par alex64100 ] BONOURje doit réaliser un   prog de tri de caractèresvoici mon code#include #include #include #include int main (int argc,  char ar Produit matriciel en c renvoit des valeurs complètement fausses [ par bilel59 ] Bonjout à tous, je sollicite votre aide pour la raison indiquée dans le titre, en effet le produif matriciel que j'effectue renvoit des valeurs vraime Boucle ne s'éxécute pas [ par Niwrad ] Bonjour à tous, Je suis plus ou moins débutant en programmation C, Je souhaite créer un programme (console) m'affichant une pyramide d'étoiles en fonc aidez-moi s'il vous plait !!!!!!!! [ par starbluesky ] Salut a tous! aidez-moi s'il vous plait  !! Je suis un étudiant en mastè la programmation de l'algorithme du simplexe [ par soums2009 ] salut à tous j'ai un probleme  avec mon code qui implemente l'algoritme du symplexe et je sollicite votre aide pour pouvoir terminer et rendre mon dev exemple de creation et utilisation d'un simple dll . [ par bonapart002 ] Bonjour:je suis débutant en c++ .je travail  avec Borland C++ 5.01.je veux créer une dll puis l'utiliser dans un programme .pour cela j'ai crée  un pr aider moi plz avant le 5 avril [ par riadusse ] voici mon programme de simulation de processus selon la méthode SJFj ai pas compris pourquoi l affichage est très très bizarre voici mon programme en Tableaux et C, aidez-moi! [ par phenix22000 ] Bonsoir à tous,quelqu'un peut-il m'aider pour m'expliquer comment savoir si un tableau contient déjà des éléments si on l'incrémente petit à petit...J Sauvegarde de fichier géométrique simple dans un fichier sous xp. [ par DeathRavage ] Bonjour à tous j'ai pour projet de développer un programme permetant le dessin de formes géométriques simples et leur sauvegarde dans un fichier.j'ai Table Ascii [ par Oxie666 ] Hello, je suis tout nouveau ici (et forcement méga débutant) et j'ai une question :J'ai écrit un petit programme afin d'avoir sous la main une table a


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,794 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales