Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

Problème: Plus grande somme de chiffres d'un nombre + tableaux

Aller en bas

Problème: Plus grande somme de chiffres d'un nombre + tableaux Empty Problème: Plus grande somme de chiffres d''un nombre + tableaux

Message par Napoléon Sam 16 Mai - 0:39

Ci-dessus un programme qui :

- saisit un tableau T de n entiers chacun composé au moins de 3 chiffres,
- construit un tableau U tel que U[i] = Somme_des_chiffres_de(T[i])
- détermine puis affiche le nombre T[max] qui a la plus grande somme de chiffres.

Code:

program prob1;
uses wincrt;

type
tab=array[1..20]of integer;

procedure saisie(var n:integer;var t:tab);
var
  i :integer;
  ch: string;
begin
  repeat
    writeln ('entrer n');
    readln (n);
  until (n in [1..20] );

  for i:=1 to n do
  repeat
    writeln('T[',i,'] = ');
    readln(t[i] ) ;
    str(t[i],ch);
  until(length(ch)>=3);
end;

function somme(x:integer):integer;
var
 nbr,e,i,d:integer;
 ch:string;
begin
 str(x,ch);
 nbr:=0;
 for i:=1 to length(ch) do
 begin
 val(ch[i],d,e);
 nbr:=nbr+d;
 end;
 somme:=nbr;
 end;

procedure construire(t:tab;n:integer;var u:tab);
var
  i:integer;
begin
 for i:=1to n do
  u[i]:=somme(t[i]);
end;


function posmax(u:tab;n:integer):integer;
var
  i,pos:integer;
begin
  pos:=1;
  for i:=2 to n do
      if (u[i]>u[pos]) then
        pos := i;

  posmax := pos;
end;

var
  n,pos: integer;
  T: TAB;
  U: TAB;

begin

  saisie(n,T);

  construire(T,n,U);

  pos := posmax(U,n);

  writeln('Le nombre qui la plus grande somme est: ',T[pos],' à la position: ',pos);
 
end.
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7874
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Problème: Plus grande somme de chiffres d'un nombre + tableaux Left_bar_bleue999/1000Problème: Plus grande somme de chiffres d'un nombre + tableaux Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum