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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2011, 14:12   #11
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

В первой форме, между end и else точка с запятой не ставится.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 12.11.2011, 15:12   #12
MD1
Пользователь
 
Регистрация: 11.11.2011
Сообщений: 17
По умолчанию

Если точку с запятой не поставить выходит ошибка "." expected
Требует поставить точку после второго end(а) а если ее поставить, то выходит два end(а) с точкой. а условие игнорируеться и выполняются две ветки.

Последний раз редактировалось MD1; 12.11.2011 в 15:16.
MD1 вне форума Ответить с цитированием
Старый 12.11.2011, 15:47   #13
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

А вот после слова ELSE одна строчка должна выполняться или все четыре?
Код:
else for i:=1 to n do t[i]:=a[i,n-i+1];
for i:=1 to n do for j:=1 to n do t1[i]:=a[i,i];
for i:=1 to n do t2[i]:=t[i]+t1[i]; writeln;
for i:=1 to n do write (t2[i]);
end.
или

Код:
else
begin
   for i:=1 to n do t[i]:=a[i,n-i+1];
   for i:=1 to n do for j:=1 to n do t1[i]:=a[i,i];
   for i:=1 to n do t2[i]:=t[i]+t1[i]; writeln;
   for i:=1 to n do write (t2[i]);
end;
end.
выходит, в первом случае он последние 3 цикла по-любому посчитает, а вот во втором случае не всегда, только если условие выполнится
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 12.11.2011, 19:42   #14
MD1
Пользователь
 
Регистрация: 11.11.2011
Сообщений: 17
По умолчанию

все.

Удачьно.

Код:
if s>max then begin

k:=1;
for i:=1 to 1 do for j:=1 to n do begin b[k]:=a[i,j]; k:=k+1; end;
writeln; for i:=1 to n{k-1} do write (b[i]:4); writeln;
for i:=1 to n do  b2[i]:=a[i,n-i+1];
for i:=1 to n do write (b2[i]:4); writeln;
for i:=1 to n do b3[i]:=b2[i]*b[i];
for i:=1 to n do write ('huynyaAAA',b3[i]:4);  end

else begin

for i:=1 to n do  t[i]:=a[i,n-i+1];
for i:=1 to n do for j:=1 to n do t1[i]:=a[i,i];
for i:=1 to n do t2[i]:=t[i]+t1[i]; writeln;
for i:=1 to n do write ('huynyaBBB',t2[i]);   end;
end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 12.11.2011 в 19:48.
MD1 вне форума Ответить с цитированием
Старый 12.11.2011, 19:46   #15
MD1
Пользователь
 
Регистрация: 11.11.2011
Сообщений: 17
По умолчанию

У меня в задании есть некое условие.
вот часть из него lg (|j-i|) где i-по строчкам; j-с по столбцам.
так как матрица квадратная i=j, а из этого следует что выражение lg (|j-i|) ложно ?
MD1 вне форума Ответить с цитированием
Старый 12.11.2011, 20:15   #16
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Обычно i и j — это не размерность матрицы, а произвольные строка и столбец.
То есть lg (|j-i|) недействительным только для главной диагонали
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 12.11.2011, 20:48   #17
MD1
Пользователь
 
Регистрация: 11.11.2011
Сообщений: 17
По умолчанию

Код:
for i:=1 to n do for j:=1 to n do readln (a[i,j]);
for i:=1 to n do for j:=1 to n do
a[i][j]:=ln(abs(j)-abs(i))/ln;(10)
а теперь?

Последний раз редактировалось MD1; 12.11.2011 в 20:53.
MD1 вне форума Ответить с цитированием
Старый 12.11.2011, 23:01   #18
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Компилятор то молчит чтоли?
1. a[i][j]:=ln(abs(j)-abs(i))/ln;(10) — перед этим надо поставить проверку на неравенство I и j, иначе программа рухнет на первой же итерации второго цикла.
2. abs(j)-abs(i) — по условию было |j-i|, а не |j|-|i| — тут вообще нет смысла, оба числа и так положительны
3. ln;(10) — даже не знаю, что сказать насчет этого.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 13.11.2011, 01:41   #19
MD1
Пользователь
 
Регистрация: 11.11.2011
Сообщений: 17
По умолчанию

Компилятор одобряе. Ошибка 207 выходит после ввода элементов матрицы.
Задание вообще вот такое)))

a[i,j]=(j – 5,7) (i+j)5 lg (|j-i|)-(|5,3 - e2j| )(-2)j

Возможно ошибка в самом задании.
три раза будет встречатся i=j если розмерность матрицы 3?

Последний раз редактировалось MD1; 13.11.2011 в 01:45.
MD1 вне форума Ответить с цитированием
Старый 13.11.2011, 18:04   #20
MD1
Пользователь
 
Регистрация: 11.11.2011
Сообщений: 17
По умолчанию

Вот еще одно.
Нужно просканировать одномерный масив и перемножить(просумировать) между собой номера отрицательных элементов масива.


Вот коечто наклепал:

Код:
for i:=1 to n do begin  if t2[i]<0 then www:=www+i; end;
writeln ('Function',www);

for i:=1 to n do if t2[i]<0 then www:=www*i; end;
writeln('Funcrion',www);
Есть ли другие пути для реализации?

Последний раз редактировалось MD1; 13.11.2011 в 19:38.
MD1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формирование матрицы соединений! chege Microsoft Office Excel 2 15.10.2011 11:05
Формирование вектора из матрицы LittleStudent Помощь студентам 3 07.05.2011 17:47
формирование матрицы из файла Олег093 Помощь студентам 1 24.04.2011 19:56
Формирование матрицы рассечением Mikhail Bakurov Помощь студентам 4 31.01.2010 13:39
Формирование матрицы по спирали RomT24 Помощь студентам 5 18.01.2010 02:38