Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 1
1

Умножить на 3 положительные элементы массива, отрицательные разделить на 2, а равные нулю – заменить числом 5

25.10.2018, 00:21. Показов 2799. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
ПОМОГИТЕ ПОЖАЛУЙСТА С ОБЪЯСНЕНИЕ ТОЛЬКО УЧУСЬ И В ЧЕМ ОШИБКА

Дан одномерный массив чисел. Умножить на 3 его положительные элементы, отрицательные разделить на 2, а равные нулю – заменить числом 5. (Реализовать задачу, используя IF.)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Program abc;
var
 mas: array[0..10] of integer;
 i: real;
begin
writeln('Введите значение i');
readln(i);
 if i>0 then
  mas[i]:= i*3
 else
  if i<0 then
   mas[i]:= i/2
  else
   if i=0 then
    mas[i]:=5;
writeln(mas);    
   
   
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2018, 00:21
Ответы с готовыми решениями:

Расположить элементы массива в следующем порядке: положительные, равные нулю, отрицательные
Располодить элементы одномерного массива,заполненного случайным образом в интервале ,в следующем...

В массиве С заменить все отрицательные элементы и равные нулю на 1. Посчитать произведение элементов нового массива.
Заданы массивы А и В действительных чисел. А:-48,7 -7,1 -24,9 2,18 10,6 -8,4 0 3,5 ...

Умножить все отрицательные элементы массива на 100, а положительные заменить единицами
Создать одномерный массив из 10 случайных целых чисел из интервала от -12 до 20.Умножить все...

В массиве нужно положительные элементы умножить на k, а отрицательные разделить на 2
Вобщем в массиве нужно положительные элементы умножить на k, а отрицательные разделить на 2. И при...

2
2351 / 1454 / 526
Регистрация: 07.04.2017
Сообщений: 4,785
25.10.2018, 00:35 2
Индекс массив должен быть integer, про это вам и говорит компилятор. То есть у i должен быть тип integer.
0
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,047
25.10.2018, 05:12 3
Во-первых, смотрите в условие: „отрицательные разделить на 2
Это говорит о том, что массив должен быть действительных чисел, ибо нечётное число поделённое на 2 нельзя положить в целочисленный массив.

Во-вторых, у вас в задании не сказано о размере массива.
В таком случае, он должен быть либо динамическим, либо заведомо такого размера, что все данные в него влезут.

В-третьих, в самом начале программы вы вводите значение i…
А что это за значение и к чему оно относится — непонятно!
Вы и сами его путаете: используете его как индекс массива и заодно как значение массива.
Это неверно.

Да и вообще, как говорил А.Македонский: „Разделяй и властвуй“
Поэтому необходимо разделить программу на логические блоки:

1. Ввод размера массива
2. Ввод значений исходного массива
3. Преобразование массива
4. Вывод новых значений массива

Исходя из этого можно составить программу:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
begin
  // Ввод размера массива и его создание
  var n := ReadInteger('Размер массива:');
  var a : array of Real;
  SetLength(a, n);
 
  // Ввод массива
  for var i := 1 to n do
    a[Pred(i)] := ReadInteger($'a[{i}] =');
    
  // Обработка массива
  for var i := 0 to n-1 do
    case sign(a[i]) of
      -1 : a[i] /= 2;
       0 : a[i] := 5;
      +1 : a[i] *= 3;
    end;
    
  // Выводим результат
  a.Println;
end.
0
25.10.2018, 05:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2018, 05:12
Помогаю со студенческими работами здесь

Заменить в матрице все отрицательные элементы числом 0, положительные элементы – числом 1
Дана целочисленная матрица размера 5x7. Заменить в данной матрице все отрицательные элементы числом...

Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0
В одномерном массиве размерностью N все положительные элементы умножить на 10, а все отрицательные...

Заменить все положительные элементы матрицы А(n,n) на их квадраты, а отрицательные − умножить на 10
Дана матрица А(n,n),Заменить все положительные элементы матрицы на их квадраты, а отрицательные...

Отрицательные элементы массива умножить на -2, а положительные на +2
Здравствуйте! Очень срочно нужна помощь. Вопрос жизни и смерти! VBA вообще не знаю. А задачу решить...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru