Fonction malloc
ste
-
batmat Messages postés 1871 Statut Membre -
batmat Messages postés 1871 Statut Membre -
salut
je débute en c sous visual c. j'auraid de besoin d'aide car j'ai un pb. je n'arrive pas a faire une moy.je sais c'est pas terrible mais il faut bien essayer.
Donc si qqun pourrais jeter un petit coup d'oeil se serait cool.
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
int main(int argc, char* argv[])
{
int *adr_deb,i,imax=5;
adr_deb=(int*)malloc(5) ;
printf ("\n adresse du debut: %p \n",adr_deb) ;
/* saisie*/
printf(" saisie des 5 nombres : \n");
for (i=0;i<imax;i++)
{
printf ("entrer nb :") ;
scanf ("%d",adr_deb+i) ;
getch();
}
/*moyenne*/
int somme,moy;
somme=*adr_deb+*adr_deb+i;
moy=somme/5;
printf("la somme est: %d\n",somme);
printf("la moyenne est: %d",moy);
int *adr_moy;
adr_moy=(int*)malloc(20);
printf("\n adresse moy: %p\n",adr_deb);
getch();
return 0;
}
je débute en c sous visual c. j'auraid de besoin d'aide car j'ai un pb. je n'arrive pas a faire une moy.je sais c'est pas terrible mais il faut bien essayer.
Donc si qqun pourrais jeter un petit coup d'oeil se serait cool.
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
int main(int argc, char* argv[])
{
int *adr_deb,i,imax=5;
adr_deb=(int*)malloc(5) ;
printf ("\n adresse du debut: %p \n",adr_deb) ;
/* saisie*/
printf(" saisie des 5 nombres : \n");
for (i=0;i<imax;i++)
{
printf ("entrer nb :") ;
scanf ("%d",adr_deb+i) ;
getch();
}
/*moyenne*/
int somme,moy;
somme=*adr_deb+*adr_deb+i;
moy=somme/5;
printf("la somme est: %d\n",somme);
printf("la moyenne est: %d",moy);
int *adr_moy;
adr_moy=(int*)malloc(20);
printf("\n adresse moy: %p\n",adr_deb);
getch();
return 0;
}
A voir également:
- Fonction malloc
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
3 réponses
1) >si qqun pourrais jeter un
Si j'aurais su j'aurais pas venu :-)
2) Tu pourrais ptete nous indiquer où se trouve ton pb, ou au moins les erreurs que tu obtiens... On n'a pas forcément le temps de lire en détail le code des autres
@++
Poster, poster encore et toujours :-)
Si j'aurais su j'aurais pas venu :-)
2) Tu pourrais ptete nous indiquer où se trouve ton pb, ou au moins les erreurs que tu obtiens... On n'a pas forcément le temps de lire en détail le code des autres
@++
Poster, poster encore et toujours :-)
Et
3) La prochaine fois, utilise la balise code pour mettre du code
4) l'erreur (ou l'une d'elle) se situe surement dans le malloc
=> malloc prend en paramètre le nombre d'octets à allouer
Ici, je pense pouvoir dire que tu veux 5 int, or tu n'alloue que 5 octets au lieu des 5 emplacements int (en 32 bits, un int fait le plus souvent 4 octets => au lieu de 20)
ATTENTION n'écris surtout pas malloc(20), tu dois écrire :
C tout pour le moment
@++
Poster, poster encore et toujours :-)
3) La prochaine fois, utilise la balise code pour mettre du code
4) l'erreur (ou l'une d'elle) se situe surement dans le malloc
=> malloc prend en paramètre le nombre d'octets à allouer
Ici, je pense pouvoir dire que tu veux 5 int, or tu n'alloue que 5 octets au lieu des 5 emplacements int (en 32 bits, un int fait le plus souvent 4 octets => au lieu de 20)
ATTENTION n'écris surtout pas malloc(20), tu dois écrire :
adr_deb=(int*)malloc(5* sizeof(int)) ;
C tout pour le moment
@++
Poster, poster encore et toujours :-)