Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2010, 17:44   #1
Quadration
Новичок
Джуниор
 
Регистрация: 08.12.2010
Сообщений: 3
По умолчанию на что нужно заменить integer и почему?

Сразу говорю прошу объяснить(в 2 словах),а не написать программу(хотя не помешает)
Условие.
Написать программу,которая найдет кол-во элементов массива A(5,6) удовлетворяющее условие 0.1<A[i,j]<0.9 и заменить их на 0.5.
теперь сама проблема: если обычно(когда сталкивались с целыми числами) мы использовали integer в строке
var a:array [1..5,1..6]of inger;i,j,k:integer;
то что мне писать вместо integer тк у меня дробные числа используются?я попробовал написать real,но выдает ошибку.
Quadration вне форума Ответить с цитированием
Старый 08.12.2010, 17:48   #2
zumm
БохЪ
Форумчанин
 
Аватар для zumm
 
Регистрация: 30.09.2009
Сообщений: 724
По умолчанию

--> double

PS или float, только вот не помню есть ли такой в паскале...
В планах порабощение вселенной...
zumm вне форума Ответить с цитированием
Старый 08.12.2010, 17:49   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

И какую же ошибку выдаёт ваш компилятор?
А лучше покажите программу!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.12.2010, 17:53   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
var a:array [1..5,1..6]of real;
i,j,k:integer;
потому что
0.1<A[i,j]<0.9 и заменить их на 0.5
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 08.12.2010, 17:54   #5
Quadration
Новичок
Джуниор
 
Регистрация: 08.12.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
И какую же ошибку выдаёт ваш компилятор?
А лучше покажите программу!
97 invalid for control variable

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
А лучше покажите программу!
program massive;
uses crt;
var a:array [1..5,1..6]of real;i,j,k:real;
begin
k:=0;
randomize;
for i:=1 to 5 do
for j:=1 to 6 do
begin
a[i,j]:random(100);
if 0.1<a[i,j]<0.9 then k:=k+1 then a[i,j]:=0.5;
end;
if k=0 then writeln ('takix elementov net') else writeln('kol-vo elementov',k);
readkey
end.
Quadration вне форума Ответить с цитированием
Старый 08.12.2010, 17:54   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от Quadration Посмотреть сообщение
Сразу говорю прошу объяснить(в 2 словах),а не написать программу(хотя не помешает)
Посмотрите типы в Паскале-Делфи. Конкретно, что за тип integer и real
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 08.12.2010, 17:57   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
if 0.1<a[i,j]<0.9
и что же это за условие???
может так переписать!:
Цитата:
if (a[i,j] > 0.1) and (a[i,j] < 0.9)
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.12.2010, 17:59   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
a[i,j]:=random(100);
ответом в вашей задаче всегда будет 0 а матрица неизменной)
замените на
Код:
a[i,j]:=random(100)/50;
Цитата:
всем спасибо. разобрался
- всегда интересно было чего они под этим подразумеваеют)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 08.12.2010 в 18:06.
Mad_Cat вне форума Ответить с цитированием
Старый 08.12.2010, 17:59   #9
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

О да а дальше то я не читал! Вот короче код
Цитата:
program massive;
uses crt;
var a:array [1..5,1..6]of real;i,j,k:real;
begin
k:=0;
randomize;
for i:=1 to 5 do
for j:=1 to 6 do
a[i,j] := random(100)/50;
if (a[i,j]> 0.1) and (a[i,j]<0.9) then
begin
k:=k+1;
a[i,j]:=0.5;
end;
if k=0 then writeln ('takix elementov net') else writeln('kol-vo elementov',k);
readkey
end.
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303

Последний раз редактировалось Hacker19_90; 08.12.2010 в 18:00. Причина: спс Mad_Cat
Hacker19_90 вне форума Ответить с цитированием
Старый 08.12.2010, 18:04   #10
Quadration
Новичок
Джуниор
 
Регистрация: 08.12.2010
Сообщений: 3
По умолчанию

всем спасибо. разобрался
Quadration вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно заменить круг на треугольник(delphi7) Dimitrius_92 Помощь студентам 0 27.05.2010 18:23
нужно в edit точку заменить запятой используя регулярные выражения Pasha1983 Общие вопросы Delphi 7 02.04.2010 13:12
Почему когда integer cтановиться =100001,выходит ошибка Дима я Общие вопросы Delphi 8 21.12.2009 11:33
Почему такая разница между Integer и LongInt? k1r1ch Общие вопросы Delphi 13 13.10.2009 09:01
нужно заменить буквы в тексте Olalya da Silva Паскаль, Turbo Pascal, PascalABC.NET 8 09.01.2009 23:55