fork(18) download
  1. Program grande_somme;
  2. Type tab=array[1..50] of integer;
  3. Var n,d,f:integer;
  4. t:tab;
  5. (****************************************)
  6. Procedure saisies(var n:integer;var t:tab);
  7. Var i:integer;
  8. Begin
  9. Repeat
  10. Writeln('n = ');
  11. Readln(n);
  12. Until n in [5..50];
  13. For i:=1 to n do
  14. Begin
  15. writeln('T[',i,'] = ');
  16. readln(t[i]);
  17. End;
  18. End;
  19. (*****************************************)
  20. Procedure interval(n:integer;t:tab; var d,f:integer);
  21. Var max,i,j,s:integer;
  22. Begin
  23. d:=1;
  24. f:=1;
  25. max:=T[1];
  26. For i:=1 to n do
  27. Begin
  28. s :=0;
  29. For j:=i to n do
  30. Begin
  31. s:= s + T[j];
  32. If s > max Then
  33. Begin
  34. d:=i;
  35. f:=j;
  36. max:=s;
  37. End;
  38. End;
  39. End;
  40. End;
  41. (****************************************)
  42. Procedure affiche(n,d,f:integer;t:tab);
  43. Var i:integer;
  44. Begin
  45. Writeln('La plus grande somme est défini par les valeurs :');
  46. For i:=d to f do
  47. Writeln(t[i],' ');
  48. End;
  49. (****************P.P************************)
  50. Begin
  51. saisies(n,t);
  52. interval(n,t,d,f);
  53. affiche(n,d,f,t);
  54. End.
  55.  
Success #stdin #stdout 0s 288KB
stdin
6
15
12
14
18
19
13

16
stdout
n = 
T[1] = 
T[2] = 
T[3] = 
T[4] = 
T[5] = 
T[6] = 
La plus grande somme est défini par les valeurs :
15 
12 
14 
18 
19 
13