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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
8 sept. 2015 à 08:22
Là tu parles de n, mais moi je parle de dim...
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
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
Rejoignez-nous