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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2008, 13:54   #11
vdv08
Пользователь
 
Регистрация: 01.04.2008
Сообщений: 42
По умолчанию

const
m = 3;
var
i,j,k,s:byte;
a: array[1..m, 1..m] of byte;
begin
randomize;
for i := 1 to m do //заполнение матрицы и вывод на экран
begin
for j := 1 to m do
begin
a[i, j] := random (2);
write(a[i, j]:2)
end;
writeln
end;
s:=0;
for i:=1 to m do
begin
k:=0;
for j:= 1 to m do
if a[i,j]=1 then k:=k+1;//считаем единицы в строке
if k=0 then //если нет
begin
s:=1; //фиксируем
writeln('V stroke ',i,' edinic net!');//выводим сообщение
readln;
end;
end;

for j:=1 to m do
begin
k:=0;
for i:= 1 to m do
if a[i,j]=1 then k:=k+1; //то же в столбцах
if k=0 then
begin
s:=1;
writeln('V stolbce ',j,' edinic net!');
end;
end;
if s=0 then writeln('Takih strok i stolbcov net!');//если нет ничего
readln
end.

посмотрите подскажите как но должен выводит индексы например
вот дана матрица
1 0 1
0 0 1
1 0 1
V stolbce 2 edinic net!---это что но выдает...
а можно чтобы он выдовал индекс где нет единицы и вывести на экран по матрице на пример
V stroke 2
V stolbce 2 edinic net!
vdv08 вне форума Ответить с цитированием
Старый 22.09.2008, 13:55   #12
vdv08
Пользователь
 
Регистрация: 01.04.2008
Сообщений: 42
По умолчанию

Цитата:
Сообщение от vdv08 Посмотреть сообщение
спасибо огромное
const
m = 3;
var
i,j,k,s:byte;
a: array[1..m, 1..m] of byte;
begin
randomize;
for i := 1 to m do //заполнение матрицы и вывод на экран
begin
for j := 1 to m do
begin
a[i, j] := random (2);
write(a[i, j]:2)
end;
writeln
end;
s:=0;
for i:=1 to m do
begin
k:=0;
for j:= 1 to m do
if a[i,j]=1 then k:=k+1;//считаем единицы в строке
if k=0 then //если нет
begin
s:=1; //фиксируем
writeln('V stroke ',i,' edinic net!');//выводим сообщение
readln;
end;
end;

for j:=1 to m do
begin
k:=0;
for i:= 1 to m do
if a[i,j]=1 then k:=k+1; //то же в столбцах
if k=0 then
begin
s:=1;
writeln('V stolbce ',j,' edinic net!');
end;
end;
if s=0 then writeln('Takih strok i stolbcov net!');//если нет ничего
readln
end.

посмотрите подскажите как но должен выводит индексы например
вот дана матрица
1 0 1
0 0 1
1 0 1
V stolbce 2 edinic net!---это что но выдает...
а можно чтобы он выдовал индекс где нет единицы и вывести на экран по матрице на пример
V stroke 2
V stolbce 2 edinic net!
vdv08 вне форума Ответить с цитированием
Старый 22.09.2008, 13:55   #13
vdv08
Пользователь
 
Регистрация: 01.04.2008
Сообщений: 42
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Вы сами хоть знаете, что вам надо? Вам так и было сделано, но вы написали, что или строку выдает или столбец. Вам переделали, чтобы все строки и все столбцы выдавло, опять нехорошо. Сами то хоть чуть-чуть пошевелите мозгами.
Всего и нужно то, прервать циклы, как находим строку или столбец.
Код:
s:=0;
for i:=1 to n do
  begin
    k:=0;
    for j:= 1 to m do
    if a[i,j]=1 then k:=k+1;//считаем единицы в строке
    if k=0 then //если нет
      begin
        s:=1; //фиксируем
        writeln('V stroke ',i,' edinic net!');//выводим сообщение
        readln;
        exit
      end;
  end;
Тоже самое в столбцах.
const
m = 3;
var
i,j,k,s:byte;
a: array[1..m, 1..m] of byte;
begin
randomize;
for i := 1 to m do //заполнение матрицы и вывод на экран
begin
for j := 1 to m do
begin
a[i, j] := random (2);
write(a[i, j]:2)
end;
writeln
end;
s:=0;
for i:=1 to m do
begin
k:=0;
for j:= 1 to m do
if a[i,j]=1 then k:=k+1;//считаем единицы в строке
if k=0 then //если нет
begin
s:=1; //фиксируем
writeln('V stroke ',i,' edinic net!');//выводим сообщение
readln;
end;
end;

for j:=1 to m do
begin
k:=0;
for i:= 1 to m do
if a[i,j]=1 then k:=k+1; //то же в столбцах
if k=0 then
begin
s:=1;
writeln('V stolbce ',j,' edinic net!');
end;
end;
if s=0 then writeln('Takih strok i stolbcov net!');//если нет ничего
readln
end.

посмотрите подскажите как но должен выводит индексы например
вот дана матрица
1 0 1
0 0 1
1 0 1
V stolbce 2 edinic net!---это что но выдает...
а можно чтобы он выдовал индекс где нет единицы и вывести на экран по матрице на пример
V stroke 2
V stolbce 2 edinic net!
vdv08 вне форума Ответить с цитированием
Старый 22.09.2008, 14:13   #14
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вы уже передумали выводить условие, как оно дано в задании?
А вывести индексы элементов не равных единице проще простого:
for i:=1 to n do
for j:=1 to n do
if a[i,j]<>1 then writeln('v stroke ',i,' stolbce ',j, ' edinic net!);
puporev вне форума Ответить с цитированием
Старый 22.09.2008, 14:41   #15
vdv08
Пользователь
 
Регистрация: 01.04.2008
Сообщений: 42
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Вы уже передумали выводить условие, как оно дано в задании?
А вывести индексы элементов не равных единице проще простого:
for i:=1 to n do
for j:=1 to n do
if a[i,j]<>1 then writeln('v stroke ',i,' stolbce ',j, ' edinic net!);
вот задание
Матрица K(m,m) cостоит изнулей и единицю. Найти в ней номера (индексы) хотя бы одной строки или хотя бы одного столбца,не содержащих единицы,либо сообщить,что таковых нет.
const
m = 3;
var
i,j,k,s:byte;
a: array[1..m, 1..m] of byte;
begin
randomize;
for i := 1 to m do //заполнение матрицы и вывод на экран
begin
for j := 1 to m do
begin
a[i, j] := random (2);
write(a[i, j]:2)
end;
writeln
end;
s:=0;
for i:=1 to m do
begin
k:=0;
for j:= 1 to m do
if a[i,j]=1 then k:=k+1;//считаем единицы в строке
if k=0 then //если нет
begin
s:=1; //фиксируем
writeln('V stroke ',i,' edinic net!');//выводим сообщение
readln;
end;
end;

for j:=1 to m do
begin
k:=0;
for i:= 1 to m do
if a[i,j]=1 then k:=k+1; //то же в столбцах
if k=0 then
begin
s:=1;
writeln('V stolbce ',j,' edinic net!');
end;
end;
if s=0 then writeln('Takih strok i stolbcov net!');//если нет ничего
readln
end.
здесь не выводи столбец и строку вместе(индекс) как сказанно в задании....посмотрите....
vdv08 вне форума Ответить с цитированием
Старый 22.09.2008, 14:48   #16
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вы так и будете тренироваться на матрице 3х3? Ну, давайте.
И все-таки настоятельно советую вставить exit после readln; в обоих циклах (по строкам и столбцам). В дальнейшей переписке не вижу смысла.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на паскале - Матрица,2-х мерный массив vdv08 Помощь студентам 1 14.09.2008 12:45
матрица {двумерные массив} Влдислаав3911 Помощь студентам 6 27.05.2008 08:33
Помогите Написать программу Матрица и Массив 77rusnaut Помощь студентам 4 20.12.2007 20:22
С++ Создать класс содержащий 3х-мерный массив int'ов, заполнять с помощью генератора случайных чисел vipER Помощь студентам 1 22.09.2007 22:08