begin process at 2012 05 30 12:18:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

sujet de ratrapages a faire ces vacances, aidez moi SVP


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

sujet de ratrapages a faire ces vacances, aidez moi SVP

mercredi 28 juillet 2004 à 17:32:07 | sujet de ratrapages a faire ces vacances, aidez moi SVP

carlmari

Bonjour, j'aimerais qu'on me corrige mon programme SVP, concernant un sujet de ratrapages que j'ai a faire.

voici l'adresse où trouver le sujet: http://annexe.esiea.fr/reexamens/reexamens2004.html

vous allez dans 2A puis projet.

Je voudrais savoir si mon algo est bon d'abord, puis si j'ai fait des erreurs dans l'utilisation des pointeurs, merci.
Voici mon code:

#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>


#define MAX_TAILLE 2048

typedef struct
{
short couleur[3];
}Pixel;

typedef struct
{
int nb_lignes,nb_colonnes;
Pixel tab[MAX_TAILLE][MAX_TAILLE];
}Image;

Image *CalculerDifferences(Image *source)
{
int i,j;
Image *P= source;
Image *P2;
P2=P;
for(j=1;j< P->nb_lignes;j++)
{
for(i=1;i< P->nb_colonnes; i++)
{
P2->tab[i][j].couleur[0]= P->tab[i][j].couleur[0]- ((P->tab[i-1][j].couleur[0]+ P->tab[i-1][j-1].couleur[0] + P->tab[i][j-1].couleur[0])/3);
P2->tab[i][j].couleur[1]= P->tab[i][j].couleur[1]- ((P->tab[i-1][j].couleur[1]+ P->tab[i-1][j-1].couleur[1] + P->tab[i][j-1].couleur[1])/3);
P2->tab[i][j].couleur[2]= P->tab[i][j].couleur[2]- ((P->tab[i-1][j].couleur[2]+ P->tab[i-1][j-1].couleur[2] + P->tab[i][j-1].couleur[2])/3);
}
i=1;
}
return P2;
}

void Negliger(Image *diff, int alpha)
{
Image *P2;
P2=diff;
int r,v,b,R,V,B,Alpha,S,i,j;

for(j=1;j<P2->nb_lignes;j++)
{
for(i=1 ;i< P2->nb_colonnes;i++)
{
r= P2->tab[i][j].couleur[0];
v= P2->tab[i][j].couleur[1];
b= P2->tab[i][j].couleur[2];

R=r*r;
V=v*v;
B=b*b;
Alpha= alpha*alpha;
S=R+V+B;

if(S<=Alpha)
{
P2->tab[i][j].couleur[0]=0;
P2->tab[i][j].couleur[1]=0;
P2->tab[i][j].couleur[2]=0;
}
}
i=1;
}
}

void EcrireFichier(char *nom_fichier, Image *diff)
{
int i=0,j=0,a=1,b=0,n=0;
Image *P2;
P2=diff;
char tmp[MAX_TAILLE][MAX_TAILLE];
nom_fichier= *tmp;
while(j<P2->nb_lignes)
{
while(i<P2->nb_colonnes)
{
if(P2->tab[i][j].couleur[0]!=0 || P2->tab[i][j].couleur[0]!=0 || P2->tab[i][j].couleur[0]!=0 )
{
n++;
tmp[a][b]=i;
tmp[a+1][b]=P2->tab[i][j].couleur[0];
tmp[a+2][b]=P2->tab[i][j].couleur[1];
tmp[a+3][b]=P2->tab[i][j].couleur[2];
a+=4;
}
i++;
}
tmp[0][b]=n;
b++;
j++;
i=0;
}
}

mercredi 28 juillet 2004 à 18:37:32 | Re : sujet de ratrapages a faire ces vacances, aidez moi SVP

JCDjcd

Tu peux pas changer le structure car elle n'est pas tres explicite
typedef struct
{
short couleur[3];
}Pixel;


c'est meiux d'avoir :

typedef struct
{
short r; // rouge
short g; // green
short b; // blue
}Pixel;

mais bon c'est pas tres grave mais plus un code est clair, plus il est facile a debugger. J'ai pas trop bien comrpis ou etait ton probleme ? tu as teste ton programmes ? tu as rencontrer des bugs ?
mercredi 28 juillet 2004 à 20:32:04 | Re : sujet de ratrapages a faire ces vacances, aidez moi SVP

JCDjcd

Heu ta onction EcrireFichier est douteuse, il faut utilser des fopen,fwrite et fclose
mercredi 28 juillet 2004 à 23:32:30 | Re : sujet de ratrapages a faire ces vacances, aidez moi SVP

djl

c'est des prof qui ont fais ce sujet ? et les const ?

carlmari > tu n'as visiblement pas compris les pointeurs, dans CalculerDifferences tu modifie l'image source

et fais du C, #include <iostream.h> n'a rien à faire ici
jeudi 29 juillet 2004 à 09:40:12 | Re : sujet de ratrapages a faire ces vacances, aidez moi SVP

magic_Nono

Membre Club
commente le code pour mieu le comprendre & on t'aidera a ce moment la...

ID : utilise MétaProg (cf mes srces)
et copie puis complete le com pour toutes les fonction...

++

Magic Nono: l'informagicien!
jeudi 29 juillet 2004 à 11:59:45 | Re : sujet de ratrapages a faire ces vacances, aidez moi SVP

imanewin32

tu doit d'abord allouer pour P2 dans la fonction CalculerDifferences sinon tu ne peux pas le rtourner car il est déclaré ds une fonction donc il est local dans cette fonction et il va etre détruit une fois tu sort de la fonction.
ça c'est trés trés important ne l'oublie jamais
jeudi 29 juillet 2004 à 19:28:43 | Re : sujet de ratrapages a faire ces vacances, aidez moi SVP

djl

de quoi tu parle ? il retourne une adresse valide, ou est le probleme ?
jeudi 29 juillet 2004 à 20:05:34 | Re : sujet de ratrapages a faire ces vacances, aidez moi SVP

JCDjcd

Un truc que je pige pas, "Image *P2;" ne cree pas en memoire une image, juste un pointeur qui est apres initiatilise a P. A mon avis il faut cree un autre image destination differente de source, car tel que c'est fais la, il ecrase son image de depart.
jeudi 29 juillet 2004 à 21:00:40 | Re : sujet de ratrapages a faire ces vacances, aidez moi SVP

djl

c'est ce que j'avais dit, il modifie l'image source...
jeudi 29 juillet 2004 à 22:32:09 | Re : sujet de ratrapages a faire ces vacances, aidez moi SVP

JCDjcd

djl > excuse ...

il faut faire par exemple :
Image *CalculerDifferences(Image *destination,Image *source)
{
// ... le code... au lieu de P2 tu prends destination
}


quand tu appelles la fonction CalculerDifferences, tu fais :

Image dest, source;
// ... tu charges ce que tu veux dans source
CalculerDifferences(&dest,&source);


Comme cela pas de Pb de memoire

1 2

Cette discussion est classée dans : couleur, image, p2, tab, tmp


Répondre à ce message

Sujets en rapport avec ce message

Detection de couleur dans une image [ par Darkness17068 ] Bonjour,j'aimerais pouvoir detecter la couleur jaune sur une image BMP. Quelqu un pourrait m aider a trouver un code source s il existe? Merci Problème de couleur des boutons avec les tabs et le thème XP [ par hwti ] J'ai une boîte de dialog statique, sur laquelle j'ajoute un tab à l'éxécutionLes pages du tab sont des boîtes de dialogue statiques crées en tant qu'e Impression image compatible avec capacités imprimante [ par Aethys ] Bonjour tout le mondeVoici mon probleme : je voudrais imprimer une image que je charge depuis un fichier (BMP ou JPG ou autre peu importe).J'arrive a changer couleur d'un Tab Conttrol [ par samki ] Bonjour,J'aimerai savoir s'il y a une fonction pour changer la couleur et la police des onglets d'un Tab Control.Merci d'avance vc++ & 256couleur???? [ par jackky ] salut a tous mon probleme est que je n'arrive pas a mettre une image de plus de 256 couleur dans mon aplication? jutilise microsoft visual studio et m conversion couleur noir & blanc [ par scudi ] Bonjour! j aimerai savoir comment faire pour changer une image en couleur en noir et blanc. Je sait qu il faut changer la palette de l image (je trait pb avec fonctions sqrt de math.h [ par fox88 ] voici mon code : void histod::calcul_moyenne_ecartype(){ //CALCUL MOYENNE DU NB D'APPELS MOYEN JOURNALIER unsigned long accu=0; int moyenne=0;<br binarisation d'image bmp en c++ [ par silv4in ] Je débute en c++ et g donc quelque difficultées.voila, je voudrais afficher la palette d'une image BMP de 256 couleurs.Voici ce que g codé, mais <font Traitement d'une image .RAW [ par vadeon ] Bonjours a vous! Je suis assez nouveau et je ne maîtrise pas encore totalement le langage C, C++, donc je vais vous exposer mon problème au complet. Couleur pour le C/C++, Image d'arrière plan [ par Hcker6 ] Salut, je suis actuellement en train de concevoir un programme de transfer FTP, ma question est,Comment mettre une image d'arriere plan pour un progra


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 2,402 sec (4)

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