Advertisement
Alex_Fomin

KYZYL KYZYL

Nov 5th, 2015
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.77 KB | None | 0 0
  1. Program CPascal; uses crt;
  2.  
  3. const n_max=100; // Максимальное кол-во элементов
  4.  
  5. type myint=integer;
  6.      intarr=array [1..n_max] of myint; // Опишем наш тип для массива
  7.  
  8. var a:intarr; // Одномерный массив
  9.     i,sizen:byte;
  10.     result:int64;
  11.    
  12. // Процедура заполнения одномерного массива псевдослучайными числами
  13. Procedure GenerateVector(var x:intarr; n:byte);
  14. var i:byte;
  15. Begin
  16. for i:=1 to n do X[i]:=Random(51)-25;
  17. end;
  18.  
  19. // Процедура вывода одномерного массива
  20. Procedure OutPutVector(x:intarr; n:byte; arrname:char);
  21. var i:byte;
  22. Begin
  23. Writeln('Массив '+ArrName+':');
  24. for i:=1 to n do Write(X[i]:4);
  25. Writeln;
  26. end;
  27.  
  28. // Функция нахождения индекса максимального элемента
  29. Function MaxIndex(x:intarr; n:byte):byte;
  30. var i,index:byte;
  31. Begin
  32. Index:=1;
  33. for i:=1 to n do if (Abs(X[i]) > Abs(X[Index])) then Index:=i;
  34. MaxIndex:=Index;
  35. end;
  36.  
  37. // Основная программа...
  38. Begin clrscr;
  39. Write('Введите размер массива (1 <= N <= '+n_max+'): '); Readln(SizeN);
  40.  
  41. GenerateVector(A,SizeN);
  42. OutPutVector(A,SizeN,#65);
  43.  
  44. // Вычислим произведение...
  45. if MaxIndex(A,SizeN) <> SizeN then
  46.                                  Begin
  47.                                  Result:=1;
  48.                                  for i:=MaxIndex(A,SizeN)+1 to SizeN do Result:=Result*A[i];
  49.                                  Writeln('Ответ: ',Result);
  50.                                  end
  51.                              else Writeln('Максимальный элемент находится в конце массива :(');
  52. Readln;
  53. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement