|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.07.2009, 20:37 | #1 |
Пользователь
Регистрация: 26.06.2009
Сообщений: 78
|
Дана матрица 6х4, найти и выдать на экран строки содержащие нулевые элементы
Пожалуйста помогите, задача вроде лёгкая, а вот я ваще не врубаюсь как это реализовать, ну не пашет у меня прога и всё, облазил весь форум не смог найти похожей даже.....
|
02.07.2009, 21:29 | #2 |
Босс
Форумчанин
Регистрация: 03.06.2009
Сообщений: 125
|
есть дофига похожих.
а ваши наработки где?! исправлять ведь быстрее, чем писать заново. и так больше кто откликнется Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются. Ася 255507394. Отзывы здесь. |
02.07.2009, 21:58 | #3 |
Босс
Форумчанин
Регистрация: 03.06.2009
Сообщений: 125
|
Код:
Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются. Ася 255507394. Отзывы здесь. |
02.07.2009, 23:23 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
sheka, в целом зачёт.
но парочка замечаний. 1) "Дана матрица 6х4 ... ", а у Вас: xmax=5; ymax=3; 2) не понравилось использование имён переменных X и Y в качестве индексов для массивов. ещё с древного Фортрана исторически сложилось использовать для индексов переменные I, J, K... а X и Y как-то больше принято использовать в качестве переменных вещественных типов. Хотя, безусловно, это право программиста — выбирать имена переменных... Просто мне, например, глаз режет.. 3) т.к. ищем хотя бы один нулевой элемент в строке, то не обязательно крутить цикл по строке, если уже нашли нулевой. Для этого можно или прерывать цикл for, либо, более красиво, воспользоваться циклом с условием. А ещё можно как только нашли нулевой элемент, сразу печатать строку (тогда и в переменной и необходимость отпадёт.) вот так, например: Код:
|
02.07.2009, 23:40 | #5 |
Босс
Форумчанин
Регистрация: 03.06.2009
Сообщений: 125
|
можна и так
3. так как массив маленький - много выиграша во времени это не даст, хотя согласен - не прав(так просто было быстрее писать). 2. в задачах, в которых x,y явно не асоциируются с не цикловыми переменными, напремер, график функции, я предпочитаю использовать х,у. (хотя тоже это не правильно, но при достаточно громоздких прогах - мне, лично, помогает. иногда для циклов вообще называю именем, но очень-очень редко). 1. сколько учусь никак не могу понять что означает 6х4 : [1..4,1..6] или [1..6,1..4], поэтому подумал, если человеку надо, пусть хоть 2 числа поменяет,лень даже свои, хоть какие, наработки выложить. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются. Ася 255507394. Отзывы здесь. |
03.07.2009, 00:16 | #6 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
sheka. угу. принято. со всем согласен.
Цитата:
Цитата:
Но это всё достаточно условно... Цитата:
Дай ещё Бог, чтобы он смог выложенное решение "переварить"... а то выдаст за своё и глазом не моргнёт... p.s. ой.. простите, я похоже скатился в оффтоп... ;( |
|||
03.07.2009, 09:34 | #7 |
Босс
Форумчанин
Регистрация: 03.06.2009
Сообщений: 125
|
ничего не перепутал?
Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются. Ася 255507394. Отзывы здесь. |
03.07.2009, 09:46 | #8 |
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
6*4 - 6 строк, 4 столбца.. сначала номер строки... вот в стринг гриде в делфи, там вроде наоборот
*** еще два первых цикла (с заполнением и выводом) объединить можно в один...
Uguu~
Последний раз редактировалось __STDC__; 03.07.2009 в 10:02. |
03.07.2009, 11:41 | #9 |
Пользователь
Регистрация: 26.06.2009
Сообщений: 78
|
Огромное спасибо всем кто откликнулся)))
я вроде и сложнее составлял проги а тут так тупанул, что аж самому стыдно Спасибо всем за помощь наработки были но как я понял я запутался в единственном куске, там ещё у меня была некая переменная считающая количество строк в которых нули, хотя она там совсем не нужна была и вовсе как я уже понял...
for i:=1 to n do begin x:=false; for j:=1 to k do if a[i,j]=0 then x:=true; if b=true then y:=i; begin for j:=1 to k do write(a[i,j]:2); writeln; end; end; readln; end. Последний раз редактировалось >>arty<<; 03.07.2009 в 12:08. |
03.07.2009, 18:14 | #10 | |
Босс
Форумчанин
Регистрация: 03.06.2009
Сообщений: 125
|
Цитата:
этим меня бесят простые задачи . придумывали б уже зоть какие-то действия над массивом, а то просто ввести и вывести Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются. Ася 255507394. Отзывы здесь. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дана матрица А(6,5). Составить массив, содержащий максимальные элементы каждого столбца. | caen21rus | Общие вопросы C/C++ | 6 | 27.05.2009 17:06 |
Дана матрица размера M*N.Зеркально отразить ее элементы | Ильдар ХАЛИКОВ | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 09.04.2008 22:22 |
Нулевые элементы в матрицах | ufoman | Помощь студентам | 5 | 26.04.2007 20:08 |