Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

Восстановить пароль
Повторная активизация 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,542
Репутация: 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,196
Репутация: 5256
По умолчанию

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

Код:

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,542
Репутация: 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,196
Репутация: 5256
По умолчанию

Цитата:
Сообщение от 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


03:21.


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

RusProfile.ru


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