Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 17.04.2013, 16:30   #1 (permalink)
БаирАбушеев
Member
 
Регистрация: 02.04.2013
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Обработка двумерных массивов Pascal ABC

помогите решить программку,не сильно мудреную)
Миниатюры
aacuiyiiue.jpg  
БаирАбушеев вне форума   Ответить с цитированием

Старый 17.04.2013, 16:30
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Аналогичные темы создавались ранее, вы можете ознакомиться с ними

Обработка одномерных массивов Pascal ABC
Программа для обработки массивов с разным количеством элементов. Pascal
Обработка символов и строк на языке Pascal

Старый 17.04.2013, 18:24   #2 (permalink)
interacia
Member
 
Регистрация: 29.01.2013
Сообщений: 91
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 565
По умолчанию

Здравствуйте.
Вводят меня в ступор заявления типа (сделайте за меня, здесь легко).
Или
Цитата:
помогите решить программку,не сильно мудреную)
Если человек в состоянии определить степень сложности задачи то он должен как минимум иметь представление о том как она решается или сам уже решил её и на основании этого сделал вывод о сложности поставленной задачи.
В любом случаи явно человек в помощи не нуждаится.

Так зачем выкладывать такую немудреную задачу?
Варианты ответа.
А) Проверить возможности других пользователей.
Б) Ну не солидно барину такой задачкой озадачиваться.
В) Просто лень, пусть бездельники решают.
Г) Другой вариант.
interacia вне форума   Ответить с цитированием
Старый 17.04.2013, 20:33   #3 (permalink)
БаирАбушеев
Member
 
Регистрация: 02.04.2013
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от interacia Посмотреть сообщение
Здравствуйте.
Вводят меня в ступор заявления типа (сделайте за меня, здесь легко).
Или


Если человек в состоянии определить степень сложности задачи то он должен как минимум иметь представление о том как она решается или сам уже решил её и на основании этого сделал вывод о сложности поставленной задачи.
В любом случаи явно человек в помощи не нуждаится.

Так зачем выкладывать такую немудреную задачу?
Варианты ответа.
А) Проверить возможности других пользователей.
Б) Ну не солидно барину такой задачкой озадачиваться.
В) Просто лень, пусть бездельники решают.
Г) Другой вариант.
в)просто лень,но никого не считаю бездельниками, т.к. я сам не могу решить эту задачу, ибо мне не был дан сей дар природы решать такие задачи(или я в школе не много проходил)
БаирАбушеев вне форума   Ответить с цитированием
Старый 17.04.2013, 23:16   #4 (permalink)
interacia
Member
 
Регистрация: 29.01.2013
Сообщений: 91
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 565
По умолчанию

Тут надо начинать из далека.
Опустим такие вещи как отсутствие в условии описания способа ввода значений исходной матрицы (это я так понимаю на усмотрение решающего).



Разбор условия.
Первое предложение.

Цитата:
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов.
Алгоритм формирования одномерного массива считаю вообще нераскрытым в условии задачи. Что за диагональные элементы? В какой последовательности их брать? Из каких диагоналей (параллельных главной или неглавной диагонали)?


Второе предложение.
Цитата:
Найти след матрицы, суммируя элементы одномерного массива.
(след матрицы) это что такое понятие или сокращение? Ели под (след матрицы) подразумевается просто сумма всех элементов одномерного массива то это предложение полностью понятно. И возможна его программная реализация. Но подозреваю что здесь что то недосказано.

Третье предложение.
Цитата:
Преобразовать исходную матрицу по правилу: четные строки разделить на полученное значение, нечетные оставить без изменения.
Тут загвоздка в выражении (разделить на полученное значение) что за значение в результате чего мы его должны были получить.

Последнее не допредложение.
Цитата:
Преобразованную матрицу вывести на печать в общепринятом виде
И что за общепринятый вид такой всю жизнь вывожу как хочу. Может, что-то, я в жизни пропустил, есть какой то стандарт в этой области (Пример бы, хотя бы посмотреть).
Отсутствие точки наталкивает на мысль что текст задачи частично утерян (остается только гадать в результате чего). А там наверно самое важное.

Но если текст не утерян и это вся задача то.
То составителю задачи крепкая двойка по педагогике. Тут надо приводить в порядок с начала мысли задающего. Бардак.

P.S.
Цитата:
в)просто лень,но никого не считаю бездельниками,
Конечно спасибо большое за откровенность. Ну прям шокирует.
interacia вне форума   Ответить с цитированием
Старый 23.04.2013, 18:26   #5 (permalink)
БаирАбушеев
Member
 
Регистрация: 02.04.2013
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

вот я и сам не понял о чем это...
БаирАбушеев вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 23.04.2013, 18:27   #6 (permalink)
БаирАбушеев
Member
 
Регистрация: 02.04.2013
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

может это:
const n=12;
var a:array[1..n,1..n] of real;
b:array[1..n] of real;
sl:real;
i,j:integer;

begin
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(10);
write(a[i,j]:6:0);
end;
writeln;
end;
for i:=1 to n do
for j:=1 to n do
if i=j then b[i]:=a[i,j];
sl:=0;
for i:=1 to n do
sl:=sl+b[i];
writeln('Sled:',sl);
for i:=1 to n do
for j:=1 to n do
if i mod 2= 0 then a[i,j]:=a[i,j]/sl;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:6:2);
writeln;
end;
end.
БаирАбушеев вне форума   Ответить с цитированием
Старый 23.04.2013, 20:10   #7 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,304
Сказал(а) спасибо: 290
Поблагодарили 512 раз(а) в 169 сообщениях
Репутация: 93301
По умолчанию

2interacia
Коллега, мне кажется, Вы излишне придирчивы. Во всяком случае, по сравнению с теми перлами и ошибками, которые, судя по нашему форуму, частенько встречаются в методичках, это еще более ли менее.
Цитата:
Сообщение от interacia Посмотреть сообщение
Алгоритм формирования одномерного массива считаю вообще нераскрытым в условии задачи. Что за диагональные элементы? В какой последовательности их брать? Из каких диагоналей (параллельных главной или неглавной диагонали)?
Если тип диагонали не указан, то следует понимать, как "главная диагональ"
Цитата:
Сообщение от interacia Посмотреть сообщение
(след матрицы) это что такое понятие или сокращение?
След матрицы — Википедия
Цитата:
Сообщение от interacia Посмотреть сообщение
Тут загвоздка в выражении (разделить на полученное значение) что за значение в результате чего мы его должны были получить.
Дык ясен пень, на полученный шпур (след) и надо делить.
Цитата:
Сообщение от interacia Посмотреть сообщение
И что за общепринятый вид такой всю жизнь вывожу как хочу. Может, что-то, я в жизни пропустил, есть какой то стандарт в этой области (Пример бы, хотя бы посмотреть).
Ну, это уж совсем не по делу. Понятно, что имеется в виду отображение матрицы в виде таблицы (строки-столбцы), а не, например, так: a[1,1]=5; a[1,2]=0; a[1,3]=18 и т.д.

2БаирАбушеев
Ну что же - выложенный код в принципе правилен, во всяком случае явных ошибок не видно. Правда, не сказать, чтобы особо сделан по уму: ну вот что это такое за:
Цитата:
Сообщение от БаирАбушеев Посмотреть сообщение
for i:=1 to n do
for j:=1 to n do
if i=j then b[i]:=a[i,j];
когда ровно то же получается в одну строчку:

for i:=1 to n do b[i]:=a[i,i];

Но это уже так, не по сути.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 00:35.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.