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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2012, 13:24   #1
mxra1n
Новичок
Джуниор
 
Регистрация: 23.06.2012
Сообщений: 18
По умолчанию Матрица в Паскале,задача



объясните ход решения,пожалуйста
mxra1n вне форума Ответить с цитированием
Старый 24.06.2012, 13:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По идее 2, потому что массив c забивается на последней итерации результатом 3-3 а на первой 3-1
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2012, 13:32   #3
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

А что конкретно непонятно? Вроде всё просто, хоть и намудрено.
Хотя действительно... c[i] := 3 - i;

Ответ - 2.
Сливочное масло Valio - компиляция как по маслу

Последний раз редактировалось Valio; 24.06.2012 в 13:36.
Valio вне форума Ответить с цитированием
Старый 24.06.2012, 13:41   #4
mxra1n
Новичок
Джуниор
 
Регистрация: 23.06.2012
Сообщений: 18
По умолчанию

да мне вообще все непонятно..
сможете объяснить как решать именно вот по порядочку все)
то что там матрица 3х3 и
с1=3-1; c2=3-2;c3=3-3

чтобы найти с2 я так понимаю просто подставить надо и получается
c3:=с3+а[3,j]
подставляю j но ответа 2 все равно не получаю

Последний раз редактировалось mxra1n; 24.06.2012 в 13:54.
mxra1n вне форума Ответить с цитированием
Старый 24.06.2012, 13:52   #5
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цикл с downto неиграет никакого значения. Он написан для запутывания. Просто удали его и смотри что получается.

И перепиши код на форум. Всем наверняка впадлу переписывать с картинки.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 24.06.2012, 13:55   #6
mxra1n
Новичок
Джуниор
 
Регистрация: 23.06.2012
Сообщений: 18
По умолчанию

Код:
type mas=array[1..3] of integer;
matr=array[1..3] of mas;

var i,j:integer;
c:mas;
const a:matr=((5,-7,4),(6,-4,5),(8,-6,5));
begin
for i=1 to 3 do begin
for j:=3 downto 1 do
c[i]:=c[i]+a[i,j];
c[i]:=3-i;
end;
writeln(c[3]+c[1]);
end.

Последний раз редактировалось mxra1n; 24.06.2012 в 13:59.
mxra1n вне форума Ответить с цитированием
Старый 24.06.2012, 14:02   #7
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Если убрать лишнее то будет такое.

Код:
type mas=array[1..3] of integer;

var i :integer;
  c:mas;

begin
for i=1 to 3 do begin
c[i]:=3-i;
end;
writeln(c[3]+c[1]);
end.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 24.06.2012, 14:07   #8
mxra1n
Новичок
Джуниор
 
Регистрация: 23.06.2012
Сообщений: 18
По умолчанию

ааа сейчас объясню,как я понял,простым языком
т.е. просто программа выполняет ту строку,которая ближе к концу,которая позже остальных)
всее я понял,спасибо
mxra1n вне форума Ответить с цитированием
Старый 24.06.2012, 14:08   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Можно решать в лоб и раскручивать все циклы, считая все выражения.
Но если приглядеться, то будет понятно, что цикл по j вообще не нужен, т.к. в следующей строчке значению c[i] присваивается выражение, не зависящее от c[i].
Тогда раскручиваем только цикл по i:
с[1]:=3-1;
c[2]:=3-2;
c[3]:=3-3;
Следовательно c[3]+c[1]=0+2=2
Ответ: 2

Цитата:
т.е. просто программа выполняет ту строку,которая ближе к концу,которая позже остальных)
Программа выполняет последовательно ВСЕ строки, но в данной задаче цикл по j не влияет на ответ, т.е. только в данной задаче его можно не рассматривать. Если бы было вот так:
Код:
type mas=array[1..3] of integer;
matr=array[1..3] of mas;

var i,j:integer;
c:mas;
const a:matr=((5,-7,4),(6,-4,5),(8,-6,5));
begin
  for i=1 to 3 do
  begin
    for j:=3 downto 1 do
      c[i]:=c[i]+a[i,j];
    c[i]:=с[i]+3-i;
  end;
  writeln(c[3]+c[1]);
end.
То цикл по j влиял бы на ответ.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 24.06.2012 в 14:11.
BDA вне форума Ответить с цитированием
Старый 24.06.2012, 14:12   #10
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от mxra1n Посмотреть сообщение
ааа сейчас объясню,как я понял,простым языком
т.е. просто программа выполняет ту строку,которая ближе к концу,которая позже остальных)
всее я понял,спасибо
Несовсем так. На примере более понятном:

Найди чему равно S:

S = 1092 + 7625/22 + (273651 + 712465) + 6124 * 2 + log(65+18/5) + e^6
S = 1 * 0

Разумеется ты без калькулятора скажешь что S = 0. В твоей задаче тоже самое.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
матрица в паскале GaJIbI4 Паскаль, Turbo Pascal, PascalABC.NET 12 02.06.2010 10:07
Матрица в Паскале Fiera9999 Помощь студентам 2 19.05.2010 20:15
задача на паскале - Матрица,2-х мерный массив vdv08 Помощь студентам 15 22.09.2008 14:48
задача на паскале - Матрица,2-х мерный массив vdv08 Помощь студентам 1 14.09.2008 12:45