‘орум программистов, компьютерный форум, киберфорум
Ќаши страницы
Turbo Pascal
¬ойти
–егистраци€
¬осстановить пароль
 
Petro29
8 / 8 / 3
–егистраци€: 30.04.2016
—ообщений: 322
#1

«аполните случайным образом одномерный массив из n элементов и определите номер элемента

18.06.2017, 10:41. ѕросмотров 412. ќтветов 8
ћетки нет (¬се метки)

¬ариант 5: /из книги ѕаскаль дл€ школьников, стр. 241/
2. «аполните случайным образом одномерный массив из n элементов и
определите номер элемента с максимальной суммой соседей. —оседи
1-го элемента Ц последний и второй. —оседи последнего элемента Ц
предпоследний и 1-й. ¬ыведите результат на экран.
”словие задани€ непон€тное.  акое уж выполнить его.
»сходный код только могу создать, а дальше Е?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses Crt;
var A:array[1..10] of integer;
       i, imax. P: integer ;
begin
ClrScr;
    write(' »сходный массив: ');
        writeln;
     Randomize;
     for i:= 1 to 10 do begin
       A[i] : = -50 + Random(101);
         write(Api]:4);
      end;
           writeln;
ЕЕЕЕЕЕЕЕЕЕ..
(ѕоиск  max  эл-та массива)
    ЕЕЕЕЕЕЕЕЕЕ
   readln
end.
Ќа выходе исходный массив:
Pascal
1
2
»сходный массив:
-6   -35   -6   -5   -23   33   -25   30   6   -29
ј дальше без пон€ти€. ¬ы могли бы выполнить это задание с
непон€тным условием.
0
Ќадоела реклама? «арегистрируйтесь и она исчезнет полностью.
Similar
Ёксперт
41792 / 34177 / 6122
–егистраци€: 12.04.2006
—ообщений: 57,940
18.06.2017, 10:41
ќтветы с готовыми решени€ми:

«аполните случайным образом одномерный массив из n элементов и сдвиньте циклически на 1 позицию влево
заполните случайным образом одномерный массив из n элементов и сдвиньте...

«аполнить случайным образом одномерный массив из n элементов
«аполнить случайным образом одномерный массив из n элементов и определить...

ќдномерный массив из 7 элементов заполнить случайным образом числами от 5 до 9
ѕомогите написать пожалуйста программы! є1. ќдномерный массив из 7 элементов...

—формировать одномерный массив из 25 элементов случайным образом, найти произведение положительных чисел
Ќужна помощь в решений задачи и подскажите как еЄ объ€снить. «автра уже...

«адать случайным образом одномерный массив из 18 целочисленных элементов, принадлежащих отрезку [-14;14]. Ќайти сумму элементов массива, кратных п€ти.
ѕомогите пожалуйста написать прогу в паскале: задать случайным образом...

8
ZX Spectrum-128
ћодератор
Ёксперт Pascal/Delphi
3861 / 2847 / 3632
–егистраци€: 05.06.2014
—ообщений: 13,960
18.06.2017, 10:58 #2
ќпределить номера двух соседних элементов массива, имеющих минимальную сумму
0
Petro29
8 / 8 / 3
–егистраци€: 30.04.2016
—ообщений: 322
03.09.2017, 18:29  [“—] #3
— условием задачи разобралс€. ј вот с решением еЄ Ц нет.
¬ы дали такое решение:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1.   const max=10000;
2.   var ar:array[1..max] of integer;
3.        a, b, n, i, i1, mx:  integer;
4.   begin
5.   randomize;
              6.   read(a,b,n);  //√у√у√вШЇ√вЧЛ√®√Ч3 √.√®√ ± √<<  и так далее
              7.   √Ў√ ∞ √вШЇ√у√√√<<√>>   a < b   n > 0
 8.   for i:= 1 to n do
9.   begin
10.    ar[i]:= a + random(b-a+1);
11.    write(ar[i[, '   ');
12.  end;
13.  writeln;
14.  mx:= ar[i] + ar[2];
15.  i1:= 1;
16. for i:= 2 to n-1 do
17.  if ar[i] + ar[i+1] > max then
18.  begin
19.  mx:= ar[i] + ar[i+1];
20.  i1:= 1;
21.  end;
22.  write(i1, '   ' , i1 + 1);
23.  end.

ѕрограмма не сработала. „то за "абракадабры" в строках 6 и 7?
ќставил в строках 6 и 7 только это:
6. read(a,b,n);
7. a < b n > 0
программа отказала. ј удалив строку 7, программа позволила ввести три числа:
а = 10, b = 15 и n = 8
а дальше ничего.
 ороче, ответ не дал результата. ’отелось бы получить конкретный результат!
0
bormant
ћодератор
Ёксперт Pascal/DelphiЁксперт NIX
3799 / 2484 / 2051
–егистраци€: 22.11.2013
—ообщений: 6,909
03.09.2017, 19:12 #4
÷итата —ообщение от Petro29 ѕосмотреть сообщение
¬ы дали такое решение:
¬ы невнимательны, решение было такое:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const max=10000;
var ar:array[1..max] of  integer;
    a,b,n,i,i1,mx:integer;
begin
randomize;
read(a,b,n);
for i:=1 to n do
 begin
  ar[i]:=a+random(b-a+1);
  write(ar[i],' ');
 end;
writeln;
mx:=ar[1]+ar[2];
i1:=1;
for i:=2 to n-1 do
if ar[i]+ar[i+1]>mx then
 begin
  mx:=ar[i]+ar[i+1];
  i1:=i;
 end;
write(i1,' ',i1+1);
end.
ƒобавлено через 2 минуты
Ёто было решение похожей задачи, по которому вам предлагалось построить решение дл€ своей задачи.

Ќапример, так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const mx=100;
var
  a: array [1..mx] of Integer;
  n, i, m, mi, t: Integer;
begin
  Randomize;
  repeat Write('a b n: '); Read(t,m,n); until (n>2) and (n<=mx);
  for i:=1 to n do a[i]:=t+Random(m-t+1);
  for i:=1 to n do Write(' ',a[i]); WriteLn;
  m:=a[n]+a[2]; mi:=1;
  t:=a[n-1]+a[1];
  if m<t then begin
    m:=t; mi:=n;
  end;
  for i:=2 to n-1 do begin
    t:=a[i-1]+a[i+1];
    if m<t then begin
      m:=t; mi:=i;
    end;
  end;
  WriteLn('Ќомер: ',mi,', сумма соседей: ',m);
end.
0
Puporev
ћодератор
54352 / 41944 / 28978
–егистраци€: 18.05.2008
—ообщений: 98,798
03.09.2017, 19:22 #5
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
uses crt;
var a:array[0..51] of integer;
    n,i,max,imax:integer ;
begin
clrscr;
randomize;
repeat
write('¬ведите размер массива от 2 до 50 n=');
readln(n);
until n in [2..50];
writeln(' »сходный массив: ');
for i:= 1 to n do
 begin
  a[i]:=-50+random(101);
  write(a[i]:4);
 end;
writeln;
a[0]:=a[n];
a[n+1]:=a[1];
max:=a[0]+a[2];
imax:=1;
for i:=2 to n do
if a[i-1]+a[i+1]>max then
 begin
  max:=a[i-1]+a[i+1];
  imax:=i;
 end;
write('Ќомер элемента с максимальной суммой соседей=',imax,' сумма=',max);
readln
end.
0
bormant
ћодератор
Ёксперт Pascal/DelphiЁксперт NIX
3799 / 2484 / 2051
–егистраци€: 22.11.2013
—ообщений: 6,909
03.09.2017, 19:47 #6
Puporev,
достаточно одного фиктивного элемента, скажем, a[0], если за исходный максимум прин€ть сумму дл€ n-ного элемента.
Pascal
18
19
20
21
22
23
24
  a[0]:=a[n];
  max:=a[n-1]+a[1]; imax:=n;
  for i:=1 to n-1 do begin
    if max<a[i-1]+a[i+1] then begin
      max:=a[i-1]+a[i+1]; imax:=i;
    end;
  end;
0
Puporev
ћодератор
54352 / 41944 / 28978
–егистраци€: 18.05.2008
—ообщений: 98,798
03.09.2017, 19:48 #7
ƒа, конечно.
0
Petro29
8 / 8 / 3
–егистраци€: 30.04.2016
—ообщений: 322
16.09.2017, 18:49  [“—] #8
Ѕыло дано два ответа:
1. ѕо первому ответу: была предложена программа без "repeat Е until". ќна не
сработала.
2. ѕо второму ответу: программа с "repeat Е until". ѕрограмма сработала. Ќо
результат не верный. ¬от результат на выходе предложенной программы:
Pascal
1
2
3
4
¬вести размер массива:  10
»сходный массив:
-19   48   -24   -7   39   28   -11   -9   45   -45
Ќомер элемента с максимальной суммой соседей равна:  41

» что это за 41? –ешение должно быть такое:
ѕри n = 10 эл. массива сумма соседей дл€ каждого элемента массива будет такой:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
є элементов:         «начени€  соседних     —умма значений соседних
       массива:               элементов массива:           элементов массива:
—оседи 1-го эл-та           -45   и   +48                          +3
—оседи 2-го эл-та           -19   и    -24                          -43
—оседи 3-го эл-та          +48   и      -7                          +41
—оседи 4-го эл-та           -24   и  + 39                          +15
—оседи 5-го эл-та           -7     и   +28                          +21
—оседи 6-го эл-та           +39   и   -11                          +28
—оседи 7-го эл-та           +28   и    -9                           +19
—оседи 8-го эл-та           -11   и   +45                          +34
—оседи 9-го эл-та           -9     и    -45                           -54
—оседи 10-го эл-та        +45   и    -19                           +26
–езультат на выходе должен быть такой:
Pascal
1
2
         Ќомер элемента с максимальной суммой соседей:  є3
         Ќомер элемента с минимальной суммой соседей:   є9
Ќо у мен€ то никак не получилось. ∆ду от вас результативного решени€.
0
Puporev
ћодератор
54352 / 41944 / 28978
–егистраци€: 18.05.2008
—ообщений: 98,798
16.09.2017, 18:55 #9
÷итата —ообщение от Petro29 ѕосмотреть сообщение
2. ѕо второму ответу: программа с "repeat Е until". ѕрограмма сработала.
” мен€ так.
0
ћиниатюры
«аполните случайным образом одномерный массив из n элементов и      определите номер  элемента  
16.09.2017, 18:55
MoreAnswers
Ёксперт
37091 / 29110 / 5898
–егистраци€: 17.06.2006
—ообщений: 43,301
16.09.2017, 18:55

ќдномерный массив из 7 элементов заполнить случайным образом числами от 5 до 9. «аменить все элементы массива меньше 5 нул€ми
ќдномерный массив из 7 элементов заполнить случайным образом числами от 5 до 9....

—оздать одномерный массив X[1..10] случайным образом
—оздать одномерный массив X случайным образом. вывести его в строку. затем...

ќтсортировать одномерный массив из 20 целых чисел, заданный случайным образом
ќтсортировать одномерный массив из 20 целых чисел, заданный случайным образом,...


»скать еще темы с ответами

»ли воспользуйтесь поиском по форуму:
9
ќтвет —оздать тему
ќпции темы

 ибер‘орум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
–ейтинг@Mail.ru