IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Двумерный массив
Jaxx
сообщение 4.07.2007 11:06
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 145
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Дан двумерный квадратный массив. Найти номера строк, все элементы которых равны нулю. Использовать подпрограммы для решения каждой частной задачи.
Я так понимаю, что пользователь сам вводит элементы массива с клавиатуры, причем удобнее по строкам. Например, так:
Код

Введите 1-ю строку массива: 1 2 3 4 5
Введите 2-ю строку массива: 0 0 0 0 0
Введите n-ю строку массива: . . . . . .

Массив размером 5 на 5, больше не нужно


--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
Lapp
сообщение 4.07.2007 12:30
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Jaxx @ 4.07.2007 12:06) *

Массив размером 5 на 5, больше не нужно

Ты покажи свои результаты для затравки... В чем сложности-то?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Jaxx
сообщение 4.07.2007 13:24
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 145
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Проблема в том, как сделать ввод именно в том виде, в котором я привел его в примере. Остальное - сделаю сам


--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 4.07.2007 13:37
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Jaxx @ 4.07.2007 14:24) *

Проблема в том, как сделать ввод именно в том виде, в котором я привел его в примере. Остальное - сделаю сам

Вот так примерно:
for i:=1 to n do begin
Write('Введите ',i,'-ю строку массива: ');
for j:=1 to n do Read(a[i,j]);
ReadLn
end;


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Jaxx
сообщение 4.07.2007 13:59
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 145
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Получилось следующее:

Uses crt;
const
n=5;
var
arr:array[1..n,1..n] of integer;
i,j:integer;

procedure fill;
var
i,j:integer;
begin
for i:=1 to n do begin
write('vvedite ',i,'-yu stroku massiva: ');
for j:=1 to n do read(arr[i,j]);
readln
end;
end;

procedure find;
var
i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
begin
if arr[i,j]=0 then writeln('0 v stroke: ',i);
end;
end;

begin
clrscr;
fill;
find;
readln;
end.


Поправьте, плиз, цикл вывода на экран номеров строк, заполненных нулями... А то выводятся по несколько раз подряд... И, может, еще где ошиПки есть, покажите

Сообщение отредактировано: Jaxx - 4.07.2007 13:59


--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Jaxx
сообщение 4.07.2007 15:43
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 145
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Поправил немного, ибо решение не соответствовало условию. Данная программа искала и выводила строки, где был хотя бы один 0. А по условию нужно вывести номера строк, где все элементы равны нулю.
Вроде нормальный вариант, но перепроверьте:

Uses crt;
const
n=5;
var
arr:array[1..n,1..n] of integer;
i,j:integer;

procedure fill;
var
i,j:integer;
begin
for i:=1 to n do begin
write('vvedite ',i,'-yu stroku massiva: ');
for j:=1 to n do read(arr[i,j]);
readln
end;
end;


procedure find;
var
i,j, stroka,stroka2:integer;
begin
stroka2:=0;
for i:=1 to n do
begin
stroka:=0;
for j:=1 to n do
begin
if arr[i,j]=0 then
begin
stroka:=stroka+1;
if stroka=n then
begin
stroka2:=1;
writeln('0 v stroke: ',i);
end;
end;
end;
end;
if stroka2=0 then writeln('v massive net takih strok');
end;



begin
clrscr;
fill;
find;
readln;
end.



--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.07.2007 9:28
Сообщение #7


Гость






Если б ты отформатировал код, как положено - сам увидел бы, что надо сначала пробежать по всей строке, а уж потом сравнивать значение переменной Stroka с N и предпринимать какие-то действия при равенстве...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:16
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"