Rechercher : dans
Par :

Lire un tableau en C.

Dernière réponse le 15 avr 2008 à 11:36:03 Sabetodo, le 12 avr 2008 à 01:48:12 
 Signaler ce message aux modérateurs

Bonjour,
Salut à tous et à toutes. Je veux creer un programme en c qui permet à l'utilisateur de lire un tableau (taille=15) et dire si c'est un tableau d'entier positif, negatif ou quelconque. Je l'ai déjà fait, mais au niveau de l'affichage même si j'entre une valeur negatif, il me dit que c'est un tab d'entier. SVP, je compte sur vous les internautes.
Voila ce que j'ai fait :
#include<stdio.h>
#include<conio.h>
#define n 5
main ()

{ int tab[n],i,j;

printf("Veuillez entrer les valeurs du tableau\n");
for(i=0;i<n;i++)
{ scanf("%d",tab[i]);
}
for(i=0;i<n;i++)
{ if(tab[i]>0)
printf("le tableau est d'entier positif\n");

else if(tab[i]<0)
{ printf("le tableau est d'entier negatif\n");
}
else printf("le tableau est d'entier quelconque\n");
}
getch();
}

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Lire un tableau en C. » dans :
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Langage C - Les tableaux VoirType de données complexes Les variables, telles que nous les avons vues, ne permettent de stocker qu'une seule donnée à la fois. Or, pour de nombreuses données, comme cela est souvent le cas, des variables distinctes seraient beaucoup trop lourdes...

1

amigo, le 12 avr 2008 à 09:57:45

Bonjour,

Un entier ne peut être que négatif, positif ou nul,
Un entier quelconque ça n'existe pas , à moins que tu nous dise ce que tu entends par là.

Salut.

Répondre à amigo

2

<yassou>, le 12 avr 2008 à 12:00:59

J'ai compris atrement ton problème.
voilà ce que j'ai compris et ça voudra dire que ce que tu as fait est faux
un tableau d'entier positifs : est un tableau dont tous les éléments sont positifs (tous les 5)
un tableau d'entier négatifs : est un tableau dont tous les éléments sont négatifs
un tableau d'entiers quelconques : est un tableau qui contient en mème temps des éléments positifs et négatifs
le 0 est considéré comme un entier positif et négatif en mème temps

ton programme vérifie le signe de chaque élément, et ce n'est pas ce qu'il faut faire
voilà ce que je te propose à la place de la boucle for :
(adapte ce pseudo algo au C, ça fait longtemps que je n'ai pas travaillé avec)

-------------------------------------
boolean tousPos = true;
boolean tousNeg = true;

for(i=0;i<n;i++) {
if (tab[i]<0) tousPos=false;
else if (tab[i]>0) tousNeg=false;
}

if (tousPos && tousNeg) printf("c'est un tableau d'entiers quelconques.\n");
else if (tousPos && !tousNeg) printf("c'est un tableau d'entiers positifs.\n");
else if (!tousPos && tousNeg) printf("c'est un tableau d'entiers négatifs.\n");

--------------------------------------------
qu'en penses-tu? toute question a sa réponse il suffit juste de bien chercher ;-)

Répondre à <yassou>

3

Sabetodo, le 13 avr 2008 à 12:22:47

En fait c'est quasiment la même chose que j'ai faite mon Chere Yassou, si je ne me trompe pas!
j'ai pas compris une partie de ton prgamme.Surtout ici:
if (tousPos && tousNeg) printf("c'est un tableau d'entiers quelconques.\n");
else if (tousPos && !tousNeg) printf("c'est un tableau d'entiers positifs.\n");
else if (!tousPos && tousNeg) printf("c'est un tableau d'entiers négatifs.\n");

Mais comment se peut-il qu'un tab contenant tous positifs et negatifs soit appele d'entier positif ou negatif?
Tu fairais mieux de m'expliquer cela.

Répondre à Sabetodo

4

<yassou>, le 14 avr 2008 à 12:51:27

C'est different mon cher Sabetodo
toi tu testes un élément et tu dis que ton tableau contient DES éléments positifs ou négatifs ...
moi je dis qu'il fauderait plutot tester tous les éléments du tableau ensuite voire le signe

tousPos c'est que tous tes éléments sont positifs et dés qu'on rencontre un élément négatif ce boolean passe à faux
méme chose pour tousNeg

c'est vrai que je n'ai pas longuement réfléchi à ton problème, mais je te donne une idée et à toi de voire si elle est exploitable ou pas

tu as raison à propos de tousPos et tousNeg les deux en mème temps ça ne ce peut pas, c'est plutot :
if (!tousPos && !tousNeg) printf("c'est un tableau d'entiers quelconques.");

TA chere <yassou> toute question a sa réponse il suffit juste de bien chercher ;-)

Répondre à <yassou>

5

Sabetodo, le 15 avr 2008 à 01:50:15

OK ma chere Yassou, apres avoir bien reflechi à mon programme, voila ce que j'ai fait:
#include<stdio.h>
#include<conio.h>
#define n 5
main ()

{ int tab[n],i,j,neg,pos;
clrscr();

printf("Veuillez entrer les valeurs du tableau\n");
for(i=0;i<n;i++)
{ scanf("%d",tab[i]);
}
pos=tab[0];
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
{ if(tab[i]>0)
{ pos=tab[i];
}
else if(tab[j]<0)
{ neg=tab[j];
}
}
}
for(i=0;i<n;i++)
{ if(pos>=0)
{ printf("le tableau est d'entier positif\n");
}
else
if(neg<=0)
{ printf("le tableau est d'entier negatif\n");
}
else
if(neg<=0 && pos>=0)
{ printf("le tableau est d'entier quelconque\n");
}
}
getch();
}
NB: Bien que le compilateur ne m'ait signalé aucune erreur, ça n'a pas marché. Car même si j'entre une valeur negative dans le tab, il me dit que le tab ne contient que de valeur positive! SVP, aidez-moi ma chere!

Répondre à Sabetodo

6

 <yassou>, le 15 avr 2008 à 11:36:03

Juste pour savoir est ce que l'entier négatif que tu inserts dans ton tableau n'est pas au milieu ou au début et pas le dernier.
parce que ton affectation de pos et neg ne me convaint pas, j'ai l'impression que tu gardes la sauvegarde du dernier élément que tu lis du tableau
ce que je t'ai donné ne marche pas? toute question a sa réponse il suffit juste de bien chercher­ ;-)

Répondre à <yassou>