Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=9893803&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Wed Apr 13 07:19:02 2016
Кодировка: Windows-1251
HELP !!!!! HELP - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 0 | 20 | показать все | след. страница
Zla9Sterva
stranger

Рег.: 12.12.2010
Сообщений: 1
Рейтинг: -31
  HELP !!!!! HELP
      12.12.2010 16:44
-31

Помогите пл3 написать лабу в делфи!


Задана последовательность X = (x1, x2, :, x10).
Сформировать из нее одномерный массив Y, состоящий только из целочисленных элементов, т.е. дробная часть которых равна нулю, массива Х. Если таковых не окажется, вывести фразу 'Целочисленных элементов нет'. Полученный массив напечатать в столбик.
X = {0.1, -4, 72, 23.1, 0.45, 3.8, -2.94, 3, 1.1, 12}.

Если можно то пл3 напишите в ответе готовую структуру, спасибо

Перенесено модератором muse из раздела Hard&Soft



Редактировал muse (12.12.2010 23:28)
Sigma
Дикий Кот

Рег.: 24.11.2005
Сообщений: 22967
Из: уже здесь
Рейтинг: 6811
  Re: HELP !!!!! HELP [re: Zla9Sterva]
      12.12.2010 16:48
-5

В ответ на:

Помогите пл3 написать лабу в делфи!



в мое время этот язык назывался паскаль :crazy:



Krasin

Рег.: 23.06.2004
Сообщений: 7039
Из: Калифорния
Рейтинг: 3386
  Re: HELP !!!!! HELP [re: Zla9Sterva]
      12.12.2010 23:34
13

В ответ на:

Полученный массив напечатать в столбик.
X = {0.1, -4, 72, 23.1, 0.45, 3.8, -2.94, 3, 1.1, 12}.
Если можно то пл3 напишите в ответе готовую структуру, спасибо



code:
Y={ 1 12 }


dtbeaver
латентный вантузоид

Рег.: 04.01.2005
Сообщений: 7272
Рейтинг: 8203
  Re: HELP !!!!! HELP [re: Zla9Sterva]
      12.12.2010 23:38
 

 
{$APPTYPE Console}
uses
   SysUtils;

var
   x:array[1..10] of double;
   y:array[1..10] of integer;
   n,i:integer;
   t:double;
begin
   Writeln('Введите 10 чисел:');
   for i := 1 to 10 do begin
      Readln(t);
      x[i] := t;
   end;
   n := 0;
   for i := 1 to 10 do begin
      if (x[i]-round(x[i]) = 0) then begin
         inc(n);
         y[n] := round(x[i]);
      end;
   end;
   if n = 0 then begin
	Writeln('Целочисленных элементов нет')
   end else begin
      for i := 1 to n do begin
         Writeln(y[i]);
      end;
   end;
end.

 






Редактировал dtbeaver (12.12.2010 23:55)
abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: HELP !!!!! HELP [re: dtbeaver]
      12.12.2010 23:40
1

В ответ на:


x:array[1..10] of double
 if (x[i]-round(x[i]) = 0)



FAIL



зимой и летом велозона
dtbeaver
латентный вантузоид

Рег.: 04.01.2005
Сообщений: 7272
Рейтинг: 8203
  Re: HELP !!!!! HELP [re: abv]
      12.12.2010 23:42
 

В ответ на:

FAIL



для отрицательных что ли?




abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: HELP !!!!! HELP [re: dtbeaver]
      12.12.2010 23:42
 

неа. попробуй еще раз :)



зимой и летом велозона
dtbeaver
латентный вантузоид

Рег.: 04.01.2005
Сообщений: 7272
Рейтинг: 8203
  Re: HELP !!!!! HELP [re: abv]
      12.12.2010 23:44
-1

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



abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: HELP !!!!! HELP [re: dtbeaver]
      12.12.2010 23:44
 

не. не. она скомпилится. и даже будет работать правильно. почти всегда :D



зимой и летом велозона
dtbeaver
латентный вантузоид

Рег.: 04.01.2005
Сообщений: 7272
Рейтинг: 8203
  Re: HELP !!!!! HELP [re: abv]
      12.12.2010 23:46
 

на маш. эпсилон намекаешь?



abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: HELP !!!!! HELP [re: dtbeaver]
      12.12.2010 23:46
 

BINGO!



зимой и летом велозона
dtbeaver
латентный вантузоид

Рег.: 04.01.2005
Сообщений: 7272
Рейтинг: 8203
  Re: HELP !!!!! HELP [re: abv]
      12.12.2010 23:50
2

мне кажется, нельзя с клавиатуры ввести такое double x, что double x не целое и при этом x-round(x) = 0
вернее можно, но оно станет целым сразу после преобразования из строки в число и записи переменную t.
то есть такое число невозможно будет отличить от целого с помощью типа double



abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: HELP !!!!! HELP [re: dtbeaver]
      12.12.2010 23:52
 

В ответ на:

мне кажется, нельзя с клавиатуры ввести такое double x...



не вынуждай меня ставить компилятор....




зимой и летом велозона
dtbeaver
латентный вантузоид

Рег.: 04.01.2005
Сообщений: 7272
Рейтинг: 8203
  Re: HELP !!!!! HELP [re: abv]
      13.12.2010 00:09
-2


 
 
{$APPTYPE Console}
uses
   SysUtils;

var
   x:array[1..10] of double;
   y:array[1..10] of integer;
   n,i:integer;
   t:double;
begin
   Writeln('Введите 10 чисел:');
   for i := 1 to 10 do begin
      Readln(t);
      x[i] := t;
   end;
   n := 0;
   for i := 1 to 10 do begin
      if (x[i]-round(x[i]) = 0) then begin
         inc(n);
         y[n] := round(x[i]);
      end;
   end;
   if n = 0 then begin
	Writeln('Целочисленных элементов нет')
   end else begin
      Writeln('Целые:');
      for i := 1 to n do begin
         Writeln(y[i]);
      end;
      Writeln('Исходный массив:');
      for i := 1 to 10 do begin
        Writeln(x[i]:0:40);
      end;
   end;
end.
 


 
beaver@yacht ~ $ ./proga
Введите 10 чисел:
1
2
3
4
5
6
7
8
9
9.000000000000001  
Целые:
1
2
3
4
5
6
7
8
9
Исходный массив:
1.000000000000000
2.000000000000000
3.000000000000000
4.000000000000000
5.000000000000000
6.000000000000000
7.000000000000000
8.000000000000000
9.000000000000000
9.000000000000000
beaver@yacht ~ $ ./proga
Введите 10 чисел:
1
2
3
4
5
6
7
8
9
9.0000000000000001
Целые:
1
2
3
4
5
6
7
8
9
9
Исходный массив:
1.000000000000000
2.000000000000000
3.000000000000000
4.000000000000000
5.000000000000000
6.000000000000000
7.000000000000000
8.000000000000000
9.000000000000000
9.000000000000000

  




abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: HELP !!!!! HELP [re: abv]
      13.12.2010 00:10
1

В ответ на:

не вынуждай меня ставить компилятор....



ты меня разозлил:

var
x:array[1..10] of double;
y:array[1..10] of integer;
n,i:integer;
t:double;
begin
Writeln('Введите 10 чисел:');
for i := 1 to 10 do begin
Readln(t);
if (t-round(t) = 0)
then
Writeln('ok')
else Writeln('ne ok!');
end;
Readln(t);
end.


1.9999999999999999
ok! - в смысле целое, а это не так



зимой и летом велозона
dtbeaver
латентный вантузоид

Рег.: 04.01.2005
Сообщений: 7272
Рейтинг: 8203
  Re: HELP !!!!! HELP [re: abv]
      13.12.2010 00:12
1

а ты это свое 1.9999999999999999 просто прочитай, а потом выведи на экран и посмотри.
P.S. по хорошему надо прочитать, а потом под дебагером посмотреть содержимое ячейки, потому что при выводе при преобразовании в строку тоже добавляются округления, видно в моем примере выше для 9.000000000000001




abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: HELP !!!!! HELP [re: dtbeaver]
      13.12.2010 00:15
-1

Writeln(x[i]:0:40);


2.000..... выводит.
а ты к чему это спросил?



зимой и летом велозона
abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: HELP !!!!! HELP [re: dtbeaver]
      13.12.2010 00:16
 

В ответ на:

P.S. по хорошему надо прочитать, а потом под дебагером посмотреть содержимое ячейки



ага. причем не через вотчес, а в бинарном виде


P.S эх, паскаль. школьные олимпиады, асм-контесты... ностальгия



зимой и летом велозона
dtbeaver
латентный вантузоид

Рег.: 04.01.2005
Сообщений: 7272
Рейтинг: 8203
  Re: HELP !!!!! HELP [re: abv]
      13.12.2010 00:19
1

В ответ на:

а ты к чему это спросил?



к тому что глюк с машинным эпсилон возникает еще в функциях ввода и с этим ничего поделать нельзя.
и x-round(x) тут не причем




abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: HELP !!!!! HELP [re: dtbeaver]
      13.12.2010 00:23
-1

ок. но это все равно тебя не сильно оправдывает. настоящие программисты не должны так писать ;)


еще: число
9999999999999.999
распечатывается как целое, но fract(t) != 0



зимой и летом велозона
Страницы: 0 | 20 | показать все | след. страница

Technical >> Development (Archive)

Дополнительная информация
0 зарегистрированных и 1 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы
>>
Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в