0 / 0 / 0
Регистрация: 08.01.2012
Сообщений: 8
1

Все элементы массива с четными индексами, предшествующие максимальному, умножить на величину максимального

08.01.2012, 18:35. Показов 1630. Ответов 8
Метки нет (Все метки)

Здравствуйте помогите решить задачу, ввод массива я сделал, а вот дальше не могу.
В заданном массиве a1, a2, …, an все элементы c четными индексами, предшествующие максимальному элементы массива (первому по порядку, если их несколько), умножить на величину максимального элемента этого массива.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2012, 18:35
Ответы с готовыми решениями:

Все члены массива с четными номерами, предшествующие максимальному, домножить на индекс максимального
Дан массив целых чисел А. Все члены массива с четными номерами, предшествующие максимальному...

Все элементы этого массива, предшествующие первому по порядку элементу со значением max(a1, ...,a10), умножить на этот максимальный элемент
Дан одномерный массив из а элементов. Все элементы этого массива, предшествующие первому по порядку...

Сдвинуть все элементы с четными индексами в начало массива, а с нечетными – в конец, сохраняя порядок их следования.
Задан одномерный массив. Сдвинуть все элементы с четными индексами в начало массива, а с нечетными...

При нажатии на кнопку 2 сдвинуть все элементы с четными индексами в начало массива, а с нечетными – в конец
При нажатии на кнопку 2 сдвинуть все элементы с четными индексами в начало массива, а с нечетными –...

8
Амурчанка
135 / 135 / 44
Регистрация: 07.11.2011
Сообщений: 279
08.01.2012, 19:30 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Поиск максимума:
Pascal
1
2
3
4
5
6
7
8
max = a[1];
imax=1;
for i:=2 to n do
  if a[i]>max then
       begin
          max=a[i];
          imax=i;
        end;
Увеличиваем элементы перед максимумом
Pascal
1
2
3
for i:=1 to imax do
  if i mod 2 =0 
      then  a[i]:= a[i]*max;
Только переменные max и imax объявите в var
0
0 / 0 / 0
Регистрация: 08.01.2012
Сообщений: 8
08.01.2012, 22:08  [ТС] 3
Цитата Сообщение от tantemka Посмотреть сообщение
Увеличиваем элементы перед максимумом
Pascal
1
2
3
for i:=1 to imax do
  if i mod 2 =0 
      then  a[i]:= a[i]*max;
Только переменные max и imax объявите в var
Не пашет тут
0
Амурчанка
135 / 135 / 44
Регистрация: 07.11.2011
Сообщений: 279
08.01.2012, 22:26 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

если несложно выложите весь код

Добавлено через 9 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    max := a[1];
    imax:=1;
    for i:=2 to 6 do
        if a[i]>max then
          begin
            max:=a[i];
            imax:=i;
          end;
    writeln(max);
    for i:=1 to imax do
      if i mod 2 =0
        then  a[i]:= a[i]*max;
    for i:=1 to 6 do
      write(a[i]:4);
Нормально работает
0
0 / 0 / 0
Регистрация: 08.01.2012
Сообщений: 8
08.01.2012, 22:46  [ТС] 5
Delphi
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
VAR A:array[1..100] of real;  n, i:integer;  imax, max,t:real;
    begin
    write('n=');
    readln(n);
    For i:=1 to n do
      begin
      Write('A[',i,']=');
      Readln(A[i]);
      end;
        writeln('massiveA');
      for i:=1 to n do write (A[i]:4:0);
      writeln;
      readln;
      max:=A[1];
imax:=1;
for i:=2 to n do
  if a[i]>max then
       begin
          max:=a[i];
          imax:=i;
        end;
 begin
 writeln('max= ', max:1:0);
 writeln('imax= ', imax:1:0);
 end;
readln;
for i:=1 to imax do
  if i mod 2 =0
      then  a[i]:= a[i]*max;
Выдает [DCC Error] Project10.dpr(34): E2010 Incompatible types: 'Integer' and 'Real'
0
Амурчанка
135 / 135 / 44
Регистрация: 07.11.2011
Сообщений: 279
08.01.2012, 22:51 6
Просто вы в var указали:
Цитата Сообщение от ZackFair Посмотреть сообщение
VAR A:array[1..100] of real; n, i:integer; imax, max,t:real
A надо указать, что imax то же является integer
Pascal
1
2
3
A:array[1..100] of real;
n, imax, i:integer; 
max,t:real
0
0 / 0 / 0
Регистрация: 08.01.2012
Сообщений: 8
08.01.2012, 22:55  [ТС] 7
я меня тогда ноет на вывод [DCC Error] Project10.dpr(33): E2054 Illegal type in Write/Writeln statement
0
Амурчанка
135 / 135 / 44
Регистрация: 07.11.2011
Сообщений: 279
08.01.2012, 22:57 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

В итоге это выглядит так:
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
31
32
33
34
35
VAR
    A:array[1..100] of real;
    imax,n, i:integer;
    max:real;
 
begin
    write('n= ');
    readln(n);
    For i:=1 to n do
      begin
      Write('A[',i,']= ');
      Readln(A[i]);
      end;
        writeln('massive A');
      for i:=1 to n do write (A[i]:4:0);
      writeln;
     max := A[1];
    imax:=1;
    for i:=2 to n do
        if a[i]>max then
          begin
            max:=a[i];
            imax:=i;
          end;
    writeln(max:4:0);
    for i:=1 to imax do
      if i mod 2 =0
        then  a[i]:= a[i]*max;
    for i:=1 to n do
      write(a[i]:4:0);
 
      WriteLn('***** Press <ENTER> to finish *****');
    Readln; 
 
end.
1
0 / 0 / 0
Регистрация: 08.01.2012
Сообщений: 8
08.01.2012, 23:11  [ТС] 9
Огромнейшее спасибо...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2012, 23:11
Помогаю со студенческими работами здесь

Массивы: элементы массива с четными номерами, предшествующие первому максимальному элементу, умножить...
Дан массив целых чисел размерности n. Все элементы массива с четными номерами, предшествующие...

Все элементы с четными индексами, предшествующие первому экстремальному в массиве, умножить на 2
Ввести одномерный массив вещественных чисел A(N). Все элементы с четными индексами, предшествующие...

Все элементы массива с четными индексами умножить на 2
1)Заданы переменные b, c, w. Если b &gt; c вычислить и напечатать a=sin 1.2+tgx+x/2tg^(2) x , где ...

Все элементы массива с четными номерами, предшествующие первому max, умножить на значение максимума
Все элементы массива с четными номерами, предшествующие первому по порядку элементу с максимальным...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru