Produit des elements

Résolu
flx509
Messages postés
27
Date d'inscription
vendredi 6 mars 2015
Statut
Membre
Dernière intervention
16 août 2016
- 7 sept. 2015 à 21:13
KX
Messages postés
16568
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
5 juillet 2022
- 8 sept. 2015 à 19:12
Bonsoir, comment allez-vous ?
Voilà, depuis la semaine dernière je voulais résoudre un programme en c, qui affiche "la somme des éléments impairs du résultat du produit de deux vecteurs d'entier [N].
Je me confie a vous, parce que je ne sais quoi faire. J'ai commencé mais. A chaque fois que j'essaye de compliler le programme ça m'affiche des messages d'erreurs.

8 réponses

KX
Messages postés
16568
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
5 juillet 2022
124
7 sept. 2015 à 21:45
Bonjour,

Sans le code qui pose problème, comment pourriez nous t'aider à corriger les erreurs ? On ne peux pas le deviner...

Remarque : pour mettre en forme le code sur le forum merci d'utiliser les balises <code c></code>
0
flx509
Messages postés
27
Date d'inscription
vendredi 6 mars 2015
Statut
Membre
Dernière intervention
16 août 2016

7 sept. 2015 à 21:52
ben voila , j'ai essaye de faire le produit des deux vecteurs,
en commençant par:
#include<stdio.h>
#include<conio.h>
int v1[dim],v2[dim],vp[dim];
int i,n,j,temp;
main(){
do{
printf("\n Entrer la dimension des vecteurs :");
scanf("%d",&n);
}while(n<2);
for(i=0;i<n;i++){
printf("Entrer le %d element du 1er vecteur :",i+1);
scanf("%d",&v1[i]);
}
for(i=0;i<n;i++){
printf("Entrer le %d element du 2e vecteur :",i+1);
scanf("%d",&v2[i]);
}
for(i=0;i<n;i++){
printf("%d\t",v1[i]);
}
for(i=0;i<n;i++){
printf("%d\t",v2[i]);
}
for(i=0;i<n;i++){
vp[i]=v1[i]*v2[i];
}
printf("\nProduit des deux\n");
for(i=0;i<n;i++){
printf("%d\t",vp[i]);
}
mais il m'affice erreurs
0
KX
Messages postés
16568
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
5 juillet 2022
124
8 sept. 2015 à 00:01
J'ai pas de compilateur pour tester et voir quelles erreurs ça t'affiche, mais à vue de nez je dirais que dim n'est pas défini donc il est incapable de créer des tableaux à la bonne taille.
0
flx509
Messages postés
27
Date d'inscription
vendredi 6 mars 2015
Statut
Membre
Dernière intervention
16 août 2016

8 sept. 2015 à 00:09
ce que je voulais faire c'est de creer le programme, pour que l'utilisateur entre lui même sa taille du tableau
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KX
Messages postés
16568
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
5 juillet 2022
124
8 sept. 2015 à 08:22
Là tu parles de n, mais moi je parle de dim...
0
cptpingu
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
124
Modifié par cptpingu le 8/09/2015 à 10:57
Bonjour.

Tu n'étais pas très "loin". C'est simplement que tu confonds "dim" et "n", comme l'a dit KX. Pour corriger cela, on va déclarer des tableaux de dimensions volontairement trop grand (c'est plus simple si tu débutes). On va prendre 128. "size" représentera la taille réelle de tes tableaux.

Quelques remarques:
  • Pas besoin de conio.h
  • Pleins de variables déclarées, mais pas utilisées.
  • Évite les variables "globales", c-à-d en déclarées en dehors des fonctions, et donc accessibles par n'importe quelles fonctions.
  • La fonction main retourne un entier.


En reprenant ton code modifié, cela donne:
#include <stdio.h>

int main()
{
  int v1[128];
  int v2[128];
  int vp[128];
  int i;
  int size;

  do
  {
    printf("\n Entrez la dimension des vecteurs: ");
    scanf("%d", &size);
  }
  while (size < 2);

  for (i = 0; i < size; i++)
  {
    printf("Entrez le %d element du 1er vecteur: ", i + 1);
    scanf("%d", &v1[i]);
  }
  for (i = 0; i < size; i++)
  {
    printf("Entrez le %d element du 2e vecteur: ", i + 1);
    scanf("%d", &v2[i]);
  }

  for (i = 0; i < size; i++)
    printf("%d\t", v1[i]);
  printf("\n");

  for (i = 0; i < size; i++)
    printf("%d\t", v2[i]);
  printf("\n");

  for (i = 0; i < size; i++)
    vp[i] = v1[i] * v2[i];

  printf("\nProduit des deux:\n");
  for (i = 0; i < size; i++)
    printf("%d\t", vp[i]);
  printf("\n");

  return 0;
}


PS: La prochaine fois, n'oublie pas les balises de code, comme te l'a indiqué KX. Pas de balises de code == pas d'aide.


Améliorer votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
0
flx509
Messages postés
27
Date d'inscription
vendredi 6 mars 2015
Statut
Membre
Dernière intervention
16 août 2016

8 sept. 2015 à 14:09
Ok mecri, je vais essayé de le compiler pour voir ce que ça donne.
Merci pour vos remarques
0
KX
Messages postés
16568
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
5 juillet 2022
124
8 sept. 2015 à 19:12
Une remarque au passage. Il serait cohérent de compléter le test while(n<2) pour vérifier que n ne soit pas supérieur à la capacité du tableau (128 dans l'exemple)
0