0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 7
|
||||||
1 | ||||||
Не могу разобрать свою ошибку26.10.2017, 20:52. Показов 1122. Ответов 9
Метки нет (Все метки)
https://www.cyberforum.ru/atta... 1509040219
Не могу понять. Почему при выводе выдает нули, когда я ввожу положительные числа.
0
|
26.10.2017, 20:52 | |
Ответы с готовыми решениями:
9
Не могу исправить свою ошибку Не могу найти свою ошибку Не могу понять свою ошибку Не могу понять свою ошибку! |
26.10.2017, 22:25 | 2 |
во первых что это такое
массив еще не заполнен, а ты из него уже читаешь во вторых - массив то у тебя 1..5, зачем в третьих ты вводишь ПОЛОЖИТЕЛЬНЫЕ числа, а тут сравниваешь если МЕНЬШЕ нуля, то вычислить квадрат иначе запишем в массив ЧТО-ТО что я записал в max, а записал ты туда что? Элементарно Ватсон
0
|
0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 7
|
|
26.10.2017, 23:16 [ТС] | 3 |
Короче. Задания звучит следующим образом: "Задан массив x=(x1,x2,...,xn). Отрицательные элементы массива заменить на их квадраты, а вместо положительных элементов записать значение, равное максимальному элементу исходного массива".
Под max:=A[5], я подразумевал присвоить max значение элемента под номер "5" в массиве. Writeln('Enter n');Readln(n); Это ввод кол-во цифр, которые будут использоваться (Хз. Так написал препод в шаблоне).
0
|
1 / 1 / 1
Регистрация: 26.10.2017
Сообщений: 1
|
|
26.10.2017, 23:49 | 4 |
Сообщение было отмечено ProBeeT как решение
Решение
Как уже сверху написали, max:=A[5] стоит слишком рано, max получает значение A[5] до того, как A[5] заполняется чем-то разумным. Надо поставить это ниже в коде.
И непонятен смысл n. Если ввести n равное 6, то можно выскочить за пределы массива. В условиях стоит "Задан массив x=(x1,x2,...,xn) , то есть у Array[1..5] n и так равно 5, для чего его ещё раз вводить? И откуда предположение, что максимальный элемент это A[5]?
1
|
87 / 87 / 65
Регистрация: 22.05.2014
Сообщений: 485
|
|
26.10.2017, 23:52 | 5 |
0
|
27.10.2017, 00:34 | 6 |
ProBeeT,
1. тебе нужен динамический массив [0..n] (именно с нуля) 2. в n ты будешь задавать размерность массива, а потом с помощью SetLength() задавать ему размер 3. циклы перепиши с нуля 4. максимальному задавай 0 5. квадрат убери, в задании его нет и если ты сам код не напишешь, за тебя его никто не напишет
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
27.10.2017, 01:17 | 7 |
Неверно поняли задание. max это должно быть максимальное значение элемента массива, который вы ввели. А его нужно сначала найти.
0
|
D1973
|
27.10.2017, 05:10
#8
|
0
|
0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 7
|
|
27.10.2017, 17:08 [ТС] | 9 |
Спасибо. Как раз то, что надо было. Просто переставить max на несколько строк ниже.
0
|
qwertehok
|
27.10.2017, 18:41
Не могу разобрать свою ошибку
#10
|
0
|
27.10.2017, 18:41 | |
Не могу найти свою ошибку. Подскажите Не могу разобрать с сортировкой нужно исправить ошибку Не вижу свою ошибку Помогите разобрать ошибку Не пойму свою ошибку в коде Разобрать код проверки на ошибку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |