0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 15
1

Несовместимые типы

22.11.2009, 15:41. Показов 2091. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Делаю программку для заполнения одного массива случайными числами и вычисления другого массива по формуле с помощью первого. Но не в этом суть. вот в этом куске программы:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
program lab;
uses crt;
const t=1e-8; n=2; m=18; k=10; x1=-36; x2=72;
var X:array[1..n,1..m]of integer;
    Y,A,Z:array[1..k,1..k]of integer;
    i,j:byte;
begin
clrscr;
for i:=1 to n do
 for j:=1 to m do
  X[i,j]:=(x2-x1)*random+x1;
for i:=1 to n do
 for j:=1 to m do
  begin
    y[i,j]:=exp(ln(2)*x[i,j])-3*cos(x[i,j]);
    if abs(y[i,j]>t then
     if abs((0.75-x*x*x)*x)>t then
      begin
        y[i,j]:=(exp(ln(2)*(-cos(x))+abs((0.75-x*x*x)*x))/((0.75-x*x*x)*x))*exp(ln(abs(0.75-x*x*x)*x))/3)/y[i,j];
        writeln('Y=',y[i,j])
        end;
 
readkey
END.
выдаёт ошибку несовместимости типов. Поправьте меня там, где я ошибся, будьте так любезны.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2009, 15:41
Ответы с готовыми решениями:

Несовместимые типы
весь код program Project43; {$APPTYPE CONSOLE} {$R *.res} uses System.types,...

Ошибка несовместимые типы
Доброго времени суток форумчане проблема такого плана в этом куске текста пишет ошибку...

Несовместимые типы, но почему?
if enemies=0 and (time)>0 then а если так: if enemies=0 and (time>0) then Operator not...

Несовместимые типы переменных
Написал код, который меняет первую и последнюю цифры в числе. Но ругается на несовместимые типы. Я...

14
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
22.11.2009, 15:45 2
Y,A,Z:array[1..k,1..k]of integer;
не подходит integer... y[i,j]:=exp(ln(2)*x[i,j])-3*cos(x[i,j]);
целыми эти числа не останутся...
0
1354 / 315 / 6
Регистрация: 21.11.2009
Сообщений: 992
22.11.2009, 15:48 3
мне кажется что в рандоме нужно задавать диапазон
строка 11
0
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
22.11.2009, 15:51 4
если не задавать, то это значения из промежутка [0, 1]//кстати, они тоже не целые...
0
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 15
22.11.2009, 16:23  [ТС] 5
Там нужно было заполнить массив рандомно от -36 до 72. По идее, должно быть так.
А какой тип тогда посоветуете использовать?
0
1354 / 315 / 6
Регистрация: 21.11.2009
Сообщений: 992
22.11.2009, 18:00 6
нужно пробовать ...попробуй real

Добавлено через 8 минут
строка 16 дужку поставь...и что у тебя в строк 17 и 19 за иксы??
0
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 15
22.11.2009, 18:15  [ТС] 7
Понял, я идиот( сейчас исправлю.
0
1354 / 315 / 6
Регистрация: 21.11.2009
Сообщений: 992
22.11.2009, 18:34 8
еее....никто не говорил что ты идиот....нету такого человека который не допускает ошибки...
0
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 15
22.11.2009, 21:29  [ТС] 9
Огромное спасибо, вот теперь всё работает. Но у меня появился ещё один вопрос: в задании нужно создать из массива Х массив Y по формуле, а если Y не существует в точке Х, то элемент Y[i,j] не заполнять. Т.е. длина массива Y выясняется по ходу заполнения. Так вот, как это реализовать? у меня получился только вариант одинакового размера массивов X и Y
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
program lab8;
uses crt;
const t=1e-8; n=2; m=18; k=10; x1=-36; x2=72;
var X:array[1..n,1..m]of real;
    Y,A:array[1..k,1..k]of real;
    Z:array[1..k] of real;
    b:real;
begin
clrscr;
for i:=1 to n do
 for j:=1 to m do
  X[i,j]:=(x2-x1)*random+x1;
for i:=1 to n do
 for j:=1 to m do
  begin
    y[i,j]:=exp(ln(2)*x[i,j])-3*cos(x[i,j]);
    if abs(y[i,j])>t then
     if abs((0.75-x[i,j]*x[i,j]*x[i,j])*x[i,j])>t then
      begin
        b:=(0.75-x[i,j]*x[i,j]*x[i,j])*x[i,j];
        y[i,j]:=((exp(ln(2)*-cos(x[i,j]))+abs(b)/b*exp(ln(abs(b))/3))/y[i,j]);
        writeln('Y[',i,',',j,']=',y[i,j]:5:2)
      end;
   end;
readkey;
END.
0
1354 / 315 / 6
Регистрация: 21.11.2009
Сообщений: 992
22.11.2009, 21:40 10
напиши полностью свое задание
0
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 15
22.11.2009, 21:45  [ТС] 11
C использованием генератора псевдослучайных чисел - функции RANDOM - сгенерировать массив {X} размером 2x18 из вещественных элементов в диапазоне –36...72 и, кроме того:
Используя формулу из таблицы 1Название: Буфер обмена02.jpg
Просмотров: 37

Размер: 6.4 Кб, заменив Х на Хi, получить элемен-ты массива Y. Если для заданного значения Xi функция не существует, то элемент Y не запол-нять. Т.о., длина массива выясняется по ходу заполнения. Вывести содержимое массива на эк-ран.
0
1354 / 315 / 6
Регистрация: 21.11.2009
Сообщений: 992
22.11.2009, 21:54 12
оуу...второе задание немного сложновато...нужно подумать
1
Реальность Нереальна!
352 / 128 / 7
Регистрация: 02.08.2009
Сообщений: 3,216
Записей в блоге: 1
22.11.2009, 23:31 13
Valeronm, в Паскале нет динамических массивов в явном виде , задаётся статический просто с запасом
0
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 15
23.11.2009, 17:50  [ТС] 14
Che Burashka, да это я уже выяснил (опытным путём). Мне интересно, как исключить нули из полученного масива, тем самым преобразовав его в массив меньшего размера..
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.11.2009, 20:32 15
Удалить ноли примерно так.
Pascal
1
2
3
4
5
6
7
8
9
i:=1;
while i<=n do
if a[i]=0 then
 begin
  for j:=i to n-1 do
  a[j]:=a[j+1];
  n:=n-1;
 end
else i:=i+1;
1
23.11.2009, 20:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2009, 20:32
Помогаю со студенческими работами здесь

Несовместимые типы 'char' и 'integer'
Доброго времени суток! Меня зовут Илья, и я недавно начал работать с Delphi. И тут у меня в...

Несовместимые типы TMemo и String
Здравствуйте, Как конвертировать несовместимые типы TMemo и String? Прилагаю код (s,ss: string):...

Ошибка E2008 (Несовместимые типы)
Ошибка в первом аргументе функции: Pos(wordstart + ' ', wordsNear + ' ') Функция принимает...

Несовместимые типы для функции
Есть вот такой простой код. #include &lt;stdio.h&gt; #define FUNDLEN 50 float sum(const struct funds...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru