Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 23.01.2014, 18:17   #1
katyawapka
Пользователь
 
Регистрация: 16.10.2012
Сообщений: 13
Репутация: 0
По умолчанию Составить процедуру замены в паскаль

Помогите составить процедуру, которая заменяет все элементы вещественного массива на целые числа, полученные при удалении десятичной точки из записи соответствующего элемента.
katyawapka вне форума   Ответить с цитированием
Старый 23.01.2014, 18:29   #2
VIK_aka_TOR
Профессионал
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Адрес: Минск
Сообщений: 1,547
Репутация: 502

icq: 554461851
skype: lord_t0r
По умолчанию

Код:

procedure round_mas( var a : array of real; n : integer);
var i : integer;
 begin
  for i:= 0 to n -1 do // если передается безразмерный то начинается массив с нуля,если не ошибаюсь
    while ( real(round( a[ i ] )) <>  a[i] )  do // явное преобразование типов, на всякий случай, 
//если компилятору не понравится сравнение вещественного с целочисленным
      a[i] := a[i] * 10;
 end;

__________________
помог - жми на весы
материальная благодарность и помощь на WebMoney R313437261838 Z253842860285
пишу код не только за печеньки
VIK_aka_TOR вне форума   Ответить с цитированием
Старый 23.01.2014, 23:33   #3
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,615
Репутация: 5352
По умолчанию

А может быть, так удобнее будет?

Код:

function RealToInt(d : extended):LongInt;
var r : extended;
begin
   r := d;
   while frac(r)>0.000001 do r := r * 10;
   RealToInt := Trunc(r);
 end;

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 24.01.2014, 01:13   #4
VIK_aka_TOR
Профессионал
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Адрес: Минск
Сообщений: 1,547
Репутация: 502

icq: 554461851
skype: lord_t0r
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
А может быть, так удобнее будет?

Код:

function RealToInt(d : extended):LongInt;
var r : extended;
begin
   r := d;
   while frac(r)>0.000001 do r := r * 10;
   RealToInt := Trunc(r);
 end;

тогда еще frac(r) взять по модулю, на случай если числа будут отрицательными в массиве...
__________________
помог - жми на весы
материальная благодарность и помощь на WebMoney R313437261838 Z253842860285
пишу код не только за печеньки
VIK_aka_TOR вне форума   Ответить с цитированием
Старый 24.01.2014, 09:12   #5
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,615
Репутация: 5352
По умолчанию

Цитата:
Сообщение от VIK_aka_TOR Посмотреть сообщение
тогда еще frac(r) взять по модулю, на случай если числа будут отрицательными в массиве...
ага. точно. согласен!
спасибо за уточнение:

Код:

while abs(frac(r))>0.000001 do r := r * 10;

Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MS-Exel, VBA. составить процедуру-функцию построения матрицы. Elly_Dorian Помощь студентам 0 14.05.2013 15:25
составить процедуру перемножения матриц и умножения матрицы на вектор kolychii Помощь студентам 0 25.01.2013 03:42
паскаль.Используя готовую процедуру sort_file ,составить программу сортировки afro13 Помощь студентам 1 09.12.2012 22:13
составить подпрограмму-процедуру для вычисления матрицы bananklubnika Помощь студентам 1 30.05.2010 23:22
Процедуру и функцию помогите составить плиз Oleg36 Помощь студентам 2 26.12.2008 12:27


07:58.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru