lire N(i) a pour objectif de lire les valeurs que je suis entrain de stocker dans mon tableau:roll:,j'ai pas saisi ce que vous voulez dire?
Version imprimable
Je vais peut-être passer pour un idiot, mais pour moi il n'y a aucune différence, c'est juste une question de convention de notation.Citation:
en plus ce n'est pas N(i) mais N[i]
s-ehtp a tout à fait raison, lire(x) permet de récupérer une valeur lue sur le clavier (ou tout autre périphérique d'entrée, le contexte ou une précision permet de décider) et de l'affecter à x, lire(N[i]) permet donc de lire un entier et de l'affecter à la i-ème case du tableau, je ne vois pas où est le problème. :koi:Citation:
la valeur entré par l'utilisateur n'est pas dans le tableau alors pourquoi lire N[i]?
oui justement, et s'il y a des conventions, c'est pour les respecter, ça permet une meilleur lisibilité de la chose.;)
oui, tu as raison.
il faut juste lui expliquer cette astuce, au cas ou elle ne l'aurait pas fait exprès.
et merci pour la remarque ;)
"entier" et "caractère" sont deux types différents.
Pas nécessairement, du moment que l'on sait de quoi on parle, ici n est un tableau, qu'on utilise N(i) ou N[i] ça revient strictement au même.Citation:
ça permet une meilleur lisibilité de la chose.
En fait, là non plus, pas nécessairement, du moment que le nombre de caractère est limité, c'est très généralement représenté par un entier, c'est le cas en C et c'est ce qui en ada te permet d'indexer un tableau par des caractères.Citation:
"entier" et "caractère" sont deux types différents.
La différence entre les deux, c'est l'interprétation que l'on en fait pour l'affichage, sinon, généralement on peut appliquer les mêmes opérations sur les deux types. (ie: si tu fais 'a' + 1 tu devrais obtenir le prochain caractère dans l'interprétation, qui n'est pas forcément 'b').
Vous allez dire que je suis méchant (:evilred:) , mais ou est le probleme d'algorithmie la dedans ?Citation:
Envoyé par s-ehtp
Ca ne serait pas plutot un probleme d'initiation a la programmation impérative ? :roll:
oui, tant que ce n'est pas encore du codage, sinon on pourrait se demander pourquoi ce sont des ";" et non des "," qu'il faut mettre à la fin d'instructions.
oui, c'est le code ascii du caractère en question qui est stocké, mais le type char est pour le traitement des caractères, on peut appliquer les mêmes opérations sur les deux types en C ou en C++ ou autres langages, seulement le résultat ne sera pas forcément celui qu'on attendait.
dans l'algorithme, s-ehtp déclare c comme caractère, sont tableau va contenir une suite de lettre ou autres caractères.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 debut variables:N tableau de Tmax=100 i:entier c:caractere i=1 repeter ecrire("entrer un nombre") lire(N(i)) i=i+1 ecrire ("voulez vous continuez) jusqu'à N(i)=0 ou i superieur à 100 ou c='n' ou c='N' fin
après elle demande qu'on lui écrive un nombre!
c'est comme si elle demandait à l'utilisateur de saisir le code ASCII du caractère qu'il voudra insérer dans le tableau :roll:
bon moi ce que j'ai fait c'est comme une sorte d'un controle de saisie ,l'utilisateur ne doit pas depasser le nombre d'elements maximale du tableau,et il peut arreter sa saisie tout en tapant N ou n c'est à dire non ou NON, vous voyez? mais bon c'est a vous tous de voir notre algorithmiciens:D;)
bon j'ai un autre algo qui demande d'inverser les elements du tableau(c'est à dire le dernier prendra la place du premier,l'avant dernier celui du 2eme et ainsi de suite) les elements du tableau sont de nombre de n connu.
voila donc mon modeste essai:D
code:
algorithme:inversement
debut
variables:N tableau de n éléments
i,n,k':entiers
c:réel
si n=2*k' alors pour i allant de 1 à n faire
c=N(i)
N(i)=N(n-(i-1))
N(n-(i-1))=c
finpour
finsi
si n=2*k'+1 alors i=1
repeter c=N(i)
N(i)=N(n-(i-1))
N(n-(i-1))=c
i=i+1
jusqu'à i=(n+1)/2
finsi
fin
NB:@acacia: j'ai voulu ecrire les crochets mais je les ai pas dans mon pc
@ tous ceux qui vont me corriger: j'ai faits de cas la ou il ya le nombre d'elements et pair et la ou le nombre d'elements est impair (dans ce cas l'élément au milieu va se permuter avec lui meme)
et merci à vous tous!!!!;)
bonjour tout le monde;
j'ai un algo entre les mains mais je sais pas comment le commencer j'ai meme pas les idées pour le traiter:mrgreen:;
l'algo demandé est le voila:
c'est de transferer les elements positifs d'un vecteur V dans un vecteur positif et les éléments nuls ou negatifs dans un vecteur V negatif;et puis editer les trois vecteurs;
j'ai besoin de me donner quelque idées pour que je puisse faire mon essai pour que vous me le corrigiez apres
et merciiiiiii à vous tous!!!
ok ok je te crois :)
alors pour ton nouveau problème, puisque tu demandes a avoir 3 tableaux, tu n'auras qu'à déclarer 3 tableaux N pour les négatifs, P pour les positifs et T sera le tableau ou il y a tes valeurs.
tu parcours T[i] et tu test chaque élément puis tu renvois sur le tableau associé
merci merci ma chere :oops:bon je vais rediger mon algo pour que tu me le corrige:mouarf:
@acacia:je vous remercie infiniment vous m'aider toujours à surmonter mes problemes i swear by GOd!:piou::piou:
you're welcome :)
algorithme:positif_negatif
debut
variables:N tableau de Nmax
T tableau de t éléments
P tableau de P max
i,j,k:entiers
pour i allant de 1 à t faire
lire(T[i])
fin pour
si T[i] inferieur ou egale à 0 alors N[k]=T[i] finsi
si T[i] superieur strict à 0 alors P[j]=T[i] finsi
ecrire('le vecteur initiale',T,'est',T[i])
ecrire('le vecteur positif',P,'est',P[j])
ecrire('le vecteur negatif',N,'est,N[k])
fin
NB:j ai utilisé 3 indices k i et j,parce que si un element du tableau T se trouve à la 3eme place dans N ou P se trouvera sur 1 position par exemple
donc je sais pas si ce que j'ai fait est bien correcte
tu vas tester tous les éléments du tableau, le test se fait donc dans une boucle.
même chose pour l'affichage.
mais si j'utilise une boucle rep je sais pas quand est ce que ma boucle s'arretera?
attendez! peut etre comme ca