Resoudre un algorithme(lisez le SVP)
mina_cherou
-
youp -
youp -
Salut tout le monde ; je suis une nouvelle inscrite dans ce site et j’espère que je vais pas le regretter, je suis une étudiante à l’université de Blida;je suis en premiére année de specialité d'informatique. J’ai un algorithme a résoudre pour cette semaine et je suis vraiment perdus je vous en prix fêtes le moi je doit le rendre. Voila mon algorithme :
Ecrire un algorithme qui demande successivement N nombre à l’utilisateur,et qui lui dise ensuite quel était le plus grand nombre différent de 0 et le pus petit ombre différent de 0, et doit retrouver la position du plus grand et du plus petit nombre.
Exemple d’exécution :
Si N=5
Enter le nombre1 :15
Enter le nombre2 :456
Enter le nombre3 :42
Enter le nombre4 :0
Enter le nombre5 :9
Le lus rand nombre : 456 sa position : 2
Le plus petit nombre : 9 sa position : 5
aidez moi s'il vous plait et merci d'avence.
Ecrire un algorithme qui demande successivement N nombre à l’utilisateur,et qui lui dise ensuite quel était le plus grand nombre différent de 0 et le pus petit ombre différent de 0, et doit retrouver la position du plus grand et du plus petit nombre.
Exemple d’exécution :
Si N=5
Enter le nombre1 :15
Enter le nombre2 :456
Enter le nombre3 :42
Enter le nombre4 :0
Enter le nombre5 :9
Le lus rand nombre : 456 sa position : 2
Le plus petit nombre : 9 sa position : 5
aidez moi s'il vous plait et merci d'avence.
A voir également:
- Resoudre un algorithme(lisez le SVP)
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 pdf - Forum Programmation
- Algorithme application pc - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Algorithme ajout rapide snapchat - Forum Snapchat
7 réponses
Var N1, N2,G,p,posG, posp,compteur
Sortir "Entrer un nombre"
Entrer N1
G=N1
p=N1
Compteur=1
posG=1
posp=1
Pour compteur=1 jusqua x-1 'x étant le nombre de nombres entrés
Sortir "Entrer N2"
Entrer N2
Si N2>=G et N2<>0 alors
G=N2
posG=compteur+1
Sinon N2<=p et N2<>0 alors
p=N2
posp=compteur+1
Fin SI
Fin pour
Sortir G,p,posG,posp
Sortir "Entrer un nombre"
Entrer N1
G=N1
p=N1
Compteur=1
posG=1
posp=1
Pour compteur=1 jusqua x-1 'x étant le nombre de nombres entrés
Sortir "Entrer N2"
Entrer N2
Si N2>=G et N2<>0 alors
G=N2
posG=compteur+1
Sinon N2<=p et N2<>0 alors
p=N2
posp=compteur+1
Fin SI
Fin pour
Sortir G,p,posG,posp
je me demande si ce post resistera !
y'a un modal qui m'en veux et qui efface mes posts, alors j'espere que t'auras le temps de le lire !
c'est un peu plus court et c'est ecrit en liberty basic ! (mais faut pas le dire, le modal fou effaceur de post rôde dans le coin !)
@++
--
y'a un modal qui m'en veux et qui efface mes posts, alors j'espere que t'auras le temps de le lire !
for i=1 to 5 print "entrez le nombre ";i;" "; input n nb(i)=n next i for i=1 to 5 if i=1 then mini=nb(i)+1 if nb(i)=mini and nb(i)<>0 then pmini$=pmini$+","+str$(i) if nb(i)<mini and nb(i)<>0 then mini=nb(i) :pmini$=str$(i) if nb(i)=maxi and nb(i)<>0 then pmaxi$=pmaxi$+","+str$(i) if nb(i)>maxi and nb(i)<>0 then maxi=nb(i) :pmaxi$=str$(i) next i print mini;" est le plus petit nombre different de zero." print "il se trouve en position :";pmini$ print maxi;" est le plus grand nombre." print "il se trouve en position :";pmaxi$ wait
c'est un peu plus court et c'est ecrit en liberty basic ! (mais faut pas le dire, le modal fou effaceur de post rôde dans le coin !)
@++
--
Salut,
la même chose en C.
La saisie des nombres se fait sur la même ligne avec des espaces entre les nombres (tu peux modifier).
Ce n'est que pour les entiers, si besoin il faut modifier.
Il ne vérifie pas les doublons (à toi de modifier)
Exécution :
Le code
la même chose en C.
La saisie des nombres se fait sur la même ligne avec des espaces entre les nombres (tu peux modifier).
Ce n'est que pour les entiers, si besoin il faut modifier.
Il ne vérifie pas les doublons (à toi de modifier)
Exécution :
[lamitest@localhost bin]$ ./nb_min_max Entrez les 5 nombres (separés par espace) : 15 456 42 0 9 Le nombre plus grand est : 456 dans la position 2 Le nombre plus petit est : 9 dans la position 5 [lamitest@localhost bin]$
Le code
/* --------------------- */
/* nb_min_max.c */
/* --------------------- */
#include <stdio.h>
main()
{ /* declarations */
int i,tab_nb[5],plus_grand,plus_petit;
int pos_max,pos_min;
/* --- SAISIE des nombre --- */
printf("Entrez les 5 nombres (separés par espace) : ");
for (i=0 ; i<5 ; i++)
scanf("%d",&tab_nb[i]);
/* === Recherche le nombre le plus petit et le plus grand === */
/* initialisation a une valeur petite et grande */
/* ..(il faut adapter en fonction de type de variable)..ici on utilise int */
plus_petit= 2147483647;
plus_grand=-2147483647;
/* boucle de recherche nb plus grand et plus petit */
for (i=0 ; i < 5 ; i++)
{
if (tab_nb[i] > plus_grand && tab_nb[i] != 0)
{
/* on memorise le nombre le plus grand */
plus_grand=tab_nb[i] ;
pos_max=i+1; /* la position du plus grand*/
}
else if (tab_nb[i] < plus_petit && tab_nb[i] != 0)
{
/* on memorise le nombre le plus petit */
plus_petit=tab_nb[i] ;
pos_min=i+1; /* la position la position du plus petit*/
}
}
printf("Le nombre plus grand est : %d dans la position %d\n",plus_grand,pos_max);
printf("Le nombre plus petit est : %d dans la position %d\n",plus_petit,pos_min);
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dans quel language dois-tu faire cet algo?
Peut-être que l'on pourra te donner un petit coup de main...
Peut-être que l'on pourra te donner un petit coup de main...
Salut,
Voila ton algo en Perl. J'ai apporté quelques modifications.
1. Le nombre N tu peux le choisir, j'ai laissé 5 par défaut.
2. Le cas où un numéro est saisie plusieurs fois. Le programme il te dit combien des fois et les positions.
Que fait le script?
1. Stocke les nombres entrés au clavier.
2. Les fonction min est max trouve les valeur min et max.
3. Une boucle while trouve la/les position(s) du/des min et max
Exemple 1 (ton exemple)
Exemple 2 ( 456 deux fois )
Le script
Voila ton algo en Perl. J'ai apporté quelques modifications.
1. Le nombre N tu peux le choisir, j'ai laissé 5 par défaut.
2. Le cas où un numéro est saisie plusieurs fois. Le programme il te dit combien des fois et les positions.
Que fait le script?
1. Stocke les nombres entrés au clavier.
2. Les fonction min est max trouve les valeur min et max.
3. Une boucle while trouve la/les position(s) du/des min et max
Exemple 1 (ton exemple)
[lamitest@localhost my_perl_script]$ perl algo_nombre_ccm_03122005.pl Fixez le nombre N, 5 par défaut: Entrez le nombre 1 : 15 Entrez le nombre 2 : 456 Entrez le nombre 3 : 42 Entrez le nombre 4 : 0 Entrez le nombre 5 : 9 Vous avez entrez les nombres suivantes : 15 456 42 0 9 Le plus grand nombre est : 456 et se trouve dans la position 2 Le plus petit nombre différent de 0 est : 9 et se trouve dans la position 5
Exemple 2 ( 456 deux fois )
[lamitest@localhost my_perl_script]$ perl algo_nombre_ccm_03122005.pl Fixez le nombre N, 5 par défaut: Entrez le nombre 1 : 15 Entrez le nombre 2 : 456 Entrez le nombre 3 : 0 Entrez le nombre 4 : 9 Entrez le nombre 5 : 456 Vous avez entrez les nombres suivantes : 15 456 0 9 456 Le plus grand nombre est : 456. Saisie 2 fois. Trouvé dans les positions 2 5. Le plus petit nombre différent de 0 est : 9 et se trouve dans la position 4 [lamitest@localhost my_perl_script]$
Le script
#! /usr/bin/perl -w
use strict;
$"=", ";
my @nb;
my @position_max;
my @position_min;
my %max;
my %min;
my $pos_max=1;
my $pos_min=1;
=head1 NAME
file_decouper - couper les fichiers texte selon un nombre de lignes.
=head1 SYNOPSIS
[user@localhost ~]$ perl algo.pl
head1 DESCRIPTION
Ecrire un algorithme qui demande successivement N nombre à l’utilisateur,
et qui lui dise ensuite quel était le plus grand nombre différent de 0
et le pus petit ombre différent de 0, et doit retrouver la position du plus grand et du plus petit nombre.
Exemple d’exécution :
Si N=5
Enter le nombre1 :15
Enter le nombre2 :456
Enter le nombre3 :42
Enter le nombre4 :0
Enter le nombre5 :9
Le lus rand nombre : 456 sa position : 2
Le plus petit nombre : 9 sa position : 5
=cut
# On saisi le nombre N, par défaut 5
print "Fixez le nombre N, 5 par défaut: ";
chomp(my $nombre=<STDIN>);
$nombre ||= 5;
my $compteur=1;
while ($compteur <= $nombre){
print "Entrez le nombre $compteur : ";
chomp(my $nb=<STDIN>);
push @nb,$nb; # stocker les nombres dans un tableau
$compteur++;
}
print "\nVous avez entrez les nombres suivantes : @nb\n";
# trouver le max
sub max {
my $max = shift @_;
foreach(@_){
if ($_>$max){
$max=$_;
}
}
return $max;
}
my $maxim=max(@nb);
# trouver le min
sub min {
my $min = shift @_;
foreach(@_){
if ($_<$min and $_<=>0){
$min=$_;
}
}
return $min;
}
my $minim=min(@nb);
my $elem_nb=join " ", @nb;
# trouver la positon de max et min et/ou les nombres d'occurences
while (@nb){
$_ = shift @nb;
if ($_ =~/$maxim/){
$max{$_}++;
$pos_max=$nombre - @nb;
push @position_max,$pos_max;
}elsif ($_=~/$minim/){
$min{$_}++;
$pos_min=$nombre - @nb;
push @position_min,$pos_min;
}
}
# affichage du/des nombre(s) max
if ($max{$maxim}==1){
print "Le plus grand nombre est : $maxim et se trouve dans la position $pos_max\n";
}else{
print "Le plus grand nombre est : $maxim. Saisie $max{$maxim} fois. Trouvé dans les positions @position_max.\n";
}
# affichage du/des nombre(s) min
if ($min{$minim}==1){
print "Le plus petit nombre différent de 0 est : $minim et se trouve dans la position $pos_min\n";
}else{
print "Le plus petit nombre différent de 0 est : $minim. Saisie $min{$minim} fois. Trouvé dans les positions @position_min.\n";
}
Désolé il y quelques petites erreurs concernant les commentaires.
Voilà le script avec les corréctions.
Voilà le script avec les corréctions.
#! /usr/bin/perl -w
=head1 NAME
Trouver le max et le min de nombres saisies.
=head1 SYNOPSIS
[user@localhost ~]$ perl algo.pl
=head1 DESCRIPTION
Ecrire un algorithme qui demande successivement N nombre à l’utilisateur,
et qui lui dise ensuite quel était le plus grand nombre différent de 0
et le pus petit ombre différent de 0, et doit retrouver la position du plus grand et du plus petit nombre.
Exemple d’exécution :
Si N=5
Enter le nombre1 :15
Enter le nombre2 :456
Enter le nombre3 :42
Enter le nombre4 :0
Enter le nombre5 :9
Le lus rand nombre : 456 sa position : 2
Le plus petit nombre : 9 sa position : 5
=cut
use strict;
$"=", ";
my @nb;
my @position_max;
my @position_min;
my %max;
my %min;
my $pos_max=1;
my $pos_min=1;
# On saisi le nombre N, par défaut 5
print "Fixez le nombre N, 5 par défaut: ";
chomp(my $nombre=<STDIN>);
$nombre ||= 5;
my $compteur=1;
while ($compteur <= $nombre){
print "Entrez le nombre $compteur : ";
chomp(my $nb=<STDIN>);
push @nb,$nb; # stocker les nombres dans un tableau
$compteur++;
}
print "\nVous avez entrez les nombres suivantes : @nb\n";
# trouver le max
sub max {
my $max = shift @_;
foreach(@_){
if ($_>$max){
$max=$_;
}
}
return $max;
}
my $maxim=max(@nb);
# trouver le min
sub min {
my $min = shift @_;
foreach(@_){
if ($_<$min and $_<=>0){
$min=$_;
}
}
return $min;
}
my $minim=min(@nb);
my $elem_nb=join " ", @nb;
# trouver la positon de max et min et/ou les nombres d'occurences
while (@nb){
$_ = shift @nb;
if ($_ =~/$maxim/){
$max{$_}++;
$pos_max=$nombre - @nb;
push @position_max,$pos_max;
}elsif ($_=~/$minim/){
$min{$_}++;
$pos_min=$nombre - @nb;
push @position_min,$pos_min;
}
}
# affichage
if ($max{$maxim}==1){
print "Le plus grand nombre est : $maxim et se trouve dans la position $pos_max\n";
}else{
print "Le plus grand nombre est : $maxim. Saisie $max{$maxim} fois. Trouvé dans les positions @position_max.\n";
}
if ($min{$minim}==1){
print "Le plus petit nombre différent de 0 est : $minim et se trouve dans la position $pos_min\n";
}else{
print "Le plus petit nombre différent de 0 est : $minim. Saisie $min{$minim} fois. Trouvé dans les positions @position_min.\n";
}