IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите с Массивом в Паскале
Ganz
сообщение 15.06.2008 15:02
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Дан вещественный массив x(n). Найти элементы массива, значение которого наиболее близко к какому-нибудь целому числу.

В данной программе надо чтобы при запуске выводился на экран начальный массив из вещественных чисел(отрицательных и положительных) и после от туда выбирались элементы наиболее близкие какому нибудь целому числу .

Помогите плиз wink.gif

Сообщение отредактировано: Ganz - 15.06.2008 15:55
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
мисс_граффити
сообщение 17.06.2008 2:20
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 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.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Ganz   Помогите с Массивом в Паскале   15.06.2008 15:02
klem4   Тебе нужно найти элемент массива X, для которого з...   15.06.2008 17:56
Ganz   честное слово я в этом нуб и разбираться щас нет ...   15.06.2008 18:04
Ganz   Плизз помогите написать программу (если надо могу ...   15.06.2008 19:13
andriano   Тогда ты ошибся(-лась) разделом.   15.06.2008 19:21
Ganz   Всмысле ? Он!   15.06.2008 19:32
klem4   Покажи что пробовал делать, и скажи с чем конкретн...   15.06.2008 20:10
Ganz   const n=10; var x: array of real; i,k : integer; ...   15.06.2008 22:59
мисс_граффити   вводился или выводился? а нельзя просто res...   16.06.2008 0:22
Ganz   смысл в том что у меня на экран должен выводиться ...   16.06.2008 16:54
Ganz   Вот еще повазился с прогой и получилось так : ...   16.06.2008 18:08
мисс_граффити   Неправильно... Смотри сам - наиболее близким к цел...   17.06.2008 2:20
Ganz   Спасибо ,только вот в результате целого числа не п...   17.06.2008 18:15
kosyak   Что-то я тебя не понимаю... Вроде мисс_граффити вс...   17.06.2008 23:56
Ganz   У меня работает нормально - 5 раз проверял (правда...   18.06.2008 11:08
мисс_граффити   если работает - какие проблемы?   18.06.2008 12:52


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.07.2025 5:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"