Помогите с Массивом в Паскале |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Помогите с Массивом в Паскале |
Ganz |
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Дан вещественный массив x(n). Найти элементы массива, значение которого наиболее близко к какому-нибудь целому числу.
В данной программе надо чтобы при запуске выводился на экран начальный массив из вещественных чисел(отрицательных и положительных) и после от туда выбирались элементы наиболее близкие какому нибудь целому числу . Помогите плиз Сообщение отредактировано: Ganz - |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Тебе нужно найти элемент массива X, для которого значение abs(x[i] - value) будем минимальным, где value - число которое ты вводишь
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Ganz |
Сообщение
#3
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Цитата Тебе нужно найти элемент массива X, для которого значение abs(x[i] - value) будем минимальным, где value - число которое ты вводишь честное слово я в этом нуб и разбираться щас нет времени ,может кто программку напишет ? |
Ganz |
Сообщение
#4
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Плизз помогите написать программу (если надо могу свои исходники выложить если помогут но они скорее всего не правильны...)
|
andriano |
Сообщение
#5
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Тогда ты ошибся(-лась) разделом.
|
Ganz |
Сообщение
#6
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Цитата Тогда ты ошибся(-лась) разделом. Всмысле ? Он! |
klem4 |
Сообщение
#7
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Покажи что пробовал делать, и скажи с чем конкретно проблема, программа на 3 строчки ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Ganz |
Сообщение
#8
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
const Проблема в то что не выводиться массив с вещественными числами ,а я сам его вважу (а вот как сделать чтоб сам выводился незнаю ) Добавлено через 17 мин. Есть еще какой-то способ без использование "frac" ,там как то вычитанием из вещественного масива целого ,для получения целой части ,вроде как-то так )))) Вот незнаю как |
мисс_граффити |
Сообщение
#9
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Проблема в то что не выводиться массив с вещественными числами ,а я сам его вважу (а вот как сделать чтоб сам выводился незнаю ) вводился или выводился? Цитата res:=1-(1-frac(x[i])); а нельзя просто Код res:=frac(x[i]); ? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Ganz |
Сообщение
#10
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
смысл в том что у меня на экран должен выводиться первоначальный массив из вещественых чисел в том числе и отрицательные ,а из них выбирались приблеженно целые
Машина случайным образом сама заполняет массив (причем заполняет массив вещественными числами как отрицательными так и положительными ) через Random Добавлено через 11 мин. Попробывал сделать так Uses crt; Результат получается таков ,что выводять целые числа =(( ,а нужны вещественые (положительные и отрицательные) .
Сообщение отредактировано: Ganz - |
Ganz |
Сообщение
#11
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Вот еще повазился с прогой и получилось так :
Вот результат программы :
Вот теперь незнаю правильно ли это или нет ,подскажите? |
мисс_граффити |
Сообщение
#12
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Неправильно...
Смотри сам - наиболее близким к целому является 90.00 А у тебя в ответе совсем другое число. Ошибка в том, что ты берешь остаток не по модулю, а со знаком. попробуй так: Код uses crt; const n=10; var x: array [1..n] of real; i,k : integer; min,res : real; begin clrscr; randomize; writeln ('Ishodnii massiv'); for i:=1 to n do begin x[i]:=random(99)+random; if random > 0.5 then x[i]:=-x[i]; end; min:=1; for i:=1 to n do begin if abs(frac(x[i]))>=0.5 then res:=1-abs(frac(x[i])) else res:=abs(frac(x[i])); if res<min then begin min:=res; k:=i; end; end; for i:=1 to n do write (x[i]:0:3 ,' '); writeln; writeln ('Rezultat: ',x[k]:0:3); readln; end. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Ganz |
Сообщение
#13
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Спасибо ,только вот в результате целого числа не получаеться ((((((((((( там выбираються разные числа почему и с + и с - ....
Вторая часть программы не рабочая... В чем может быть проблема ? Сообщение отредактировано: Ganz - |
kosyak |
Сообщение
#14
|
Пионер Группа: Пользователи Сообщений: 100 Пол: Мужской Репутация: 0 |
Что-то я тебя не понимаю... Вроде мисс_граффити все так сделала. Если хочешь чтоб выводилось близкое целое число то поставь так:
Код writeln ('Rezultat: ',round(x[k])); |
Ganz |
Сообщение
#15
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
У меня работает нормально - 5 раз проверял (правда, на 20 числах) - всё правильно выводит... Не понимаю, где у меня проблема...
|
мисс_граффити |
Сообщение
#16
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
если работает - какие проблемы?
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Текстовая версия | 23.12.2024 21:07 |