Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 7
1

Не могу разобрать свою ошибку

26.10.2017, 20:52. Показов 1122. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
https://www.cyberforum.ru/atta... 1509040219

Не могу понять. Почему при выводе выдает нули, когда я ввожу положительные числа.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program Project4;
 
 Type Mas1=Array[1..5] of real;
 var  A:Mas1; max:real; i,n:integer;
    
BEGIN
max:=A[5];
Writeln('Enter n');
readln(n);
Writeln('Enter array a');
For i:=1 to n do
read(A[I]);
for i:=1 to n do
If A[I]<0 then A[I]:=sqr(A[I]) Else A[I]:=max;
for i:=1 to n do
write(A[I]:2:2, ' ');
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2017, 20:52
Ответы с готовыми решениями:

Не могу исправить свою ошибку
Записать рассуждение в логической символике и проверить правильность рассуждения методом Куайна,...

Не могу найти свою ошибку
Вот код: if(strpos($url,'http://') === false) { $url = substr($url, -7, 0); } Хочу...

Не могу понять свою ошибку
Условие: После ввода второго абитура пишет : PABCSystem.pas(4529) : Ошибка времени...

Не могу понять свою ошибку!
Здравствуйте! Скажите, в чем моя ошибка... При вводе чисел 1 1 1 в исходный файл программа выдаёт...

9
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
26.10.2017, 22:25 2
во первых что это такое
Цитата Сообщение от ProBeeT Посмотреть сообщение
max:=A[5];
массив еще не заполнен, а ты из него уже читаешь

во вторых - массив то у тебя 1..5, зачем
Цитата Сообщение от ProBeeT Посмотреть сообщение
Writeln('Enter n');
readln(n);
в третьих ты вводишь ПОЛОЖИТЕЛЬНЫЕ числа, а тут сравниваешь
Цитата Сообщение от ProBeeT Посмотреть сообщение
If A[I]<0
если МЕНЬШЕ нуля, то вычислить квадрат иначе запишем в массив ЧТО-ТО что я записал в 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
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
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
Цитата Сообщение от ProBeeT Посмотреть сообщение
Под max:=A[5], я подразумевал присвоить max значение элемента под номер "5" в массиве.
Неверно поняли задание. max это должно быть максимальное значение элемента массива, который вы ввели. А его нужно сначала найти.
0
D1973
27.10.2017, 05:10
  #8

Не по теме:

Цитата Сообщение от qwertehok Посмотреть сообщение
за тебя его никто не напишет
вот придет Puporev... :D

0
0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 7
27.10.2017, 17:08  [ТС] 9
Спасибо. Как раз то, что надо было. Просто переставить max на несколько строк ниже.
0
qwertehok
27.10.2017, 18:41     Не могу разобрать свою ошибку
  #10

Не по теме:

Цитата Сообщение от ProBeeT Посмотреть сообщение
Просто переставить max на несколько строк ниже.
да нет же

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2017, 18:41

Не могу найти свою ошибку. Подскажите
задача с файлами. n- количество чисел в массиве c-сам массив. В выходном файле должно выйти...

Не могу разобрать с сортировкой нужно исправить ошибку
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного...

Не вижу свою ошибку
заходим в программу, выпригивает окно авторизации, оно отлавливает имя пользователя и...

Помогите разобрать ошибку
Помогите пожалуйста. Программа выдает ошибку, а почему она ее выдает не понимаю, может вы мне...

Не пойму свою ошибку в коде
Дана квадратная матрица. Заменить предпоследнюю строку матрицы первым из столбцов, в котором...

Разобрать код проверки на ошибку
Помогите разобрать код. Напиште какой метод тестирования здесь находиться, и где он в самом коде....


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

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