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

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

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

 
 Ответить  Открыть новую тему 
> Матрица, while repeat
сообщение
Сообщение #1


Гость






Никак не могу для while и repeat сделать эту задачу
Код
program Lab3; uses crt;
label vvod;
var tab:array [1..5,1..5] of integer;
   pob:array [1..5] of integer;
   por:array [1..5] of integer;
   a,b,chislo:integer;
BEGIN

clrscr;

for a:=1 to 5 do
for b:=1 to 5 do
   begin
   if a=b then tab[a,b]:=0
   else vvod:
       begin
       write('Vvedite znachenie yacheyki (',a,',',b,'): ');
       readln(tab[a,b]);
       if (tab[a,b]<0) or (tab[a,b]>2) then
           begin
           writeln('Nevernoe znachenie. Povtorite eshe raz.');
           goto vvod;
           end;
       end;
   end;

writeln;
writeln('Poluchennaya matritsa:');
for a:=1 to 5 do
writeln(tab[a,1],' ',tab[a,2],' ',tab[a,3],' ',tab[a,4],' ',tab[a,5]);

for a:=1 to 5 do
   begin
   pob[a]:=0; por[a]:=0;
   for b:=1 to 5 do
       begin
       if a<>b then
          begin
          if tab[a,b]=0 then por[a]:=por[a]+1;
          if tab[a,b]=2 then pob[a]:=pob[a]+1;
          end
       else
       end;
   end;

chislo:=0;
for a:=1 to 5 do
if pob[a]>por[a] then chislo:=chislo+1;

writeln;
writeln('Chislo komand, u kotoryh pobed bolshe, chem porazheniy, ravno ',chislo);

readln;

END.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Lenka, что именно надо перевести в While и Repeat? Все циклы?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Вместо for должен быть while и еще один экземпляр с repeat.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Забыла имя написать rolleyes.gif rolleyes.gif rolleyes.gif

М
А если ты зарегистрирешься то сможешь редактировать свои сообщения и никогда не будет забывать писать имя smile.gif give_rose.gif
Altair

 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Ну, прежде чем что-то менять в программе, нужно ее привести в нормальный вид: избавляемся от GoTo и от лишних begin ... end и веток else
program Lab3;
uses crt;

var
tab:array [1..5,1..5] of integer;
pob:array [1..5] of integer;
por:array [1..5] of integer;
a,b,chislo:integer;

BEGIN

clrscr;
for a:=1 to 5 do
for b:=1 to 5 do begin

if a=b then tab[a,b]:=0
else
repeat
write('Vvedite znachenie yacheyki (',a,',',b,'): ');
readln(tab[a,b]);
if (tab[a,b]<0) or (tab[a,b]>2) then
writeln('Nevernoe znachenie. Povtorite eshe raz.');
until (tab[a,b] >= 0) and (tab[a, b] <= 2);
end;

writeln;
writeln('Poluchennaya matritsa:');
for a:=1 to 5 do
writeln(tab[a,1],' ',tab[a,2],' ',tab[a,3],' ',tab[a,4],' ',tab[a,5]);

for a:=1 to 5 do begin

pob[a]:=0; por[a]:=0;
for b:=1 to 5 do
if a<>b then begin

if tab[a,b]=0 then por[a]:=por[a]+1;
if tab[a,b]=2 then pob[a]:=pob[a]+1;

end
end;

chislo:=0;
for a:=1 to 5 do
if pob[a]>por[a] then chislo:=chislo+1;

writeln;
writeln('Chislo komand, u kotoryh pobed bolshe, chem porazheniy, ravno ',
chislo);
readln;

END.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 5
Пол: Женский

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


Все равно не получается. HEEEELP!!!

ГЫ! А я теперь еще и мужчина.

М
мы тоже над этим думали... в профиле поставь то на самом деле есть
Altair

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Цитата
Все равно не получается.

А пробовала? Вот через Repeat:
program Lab3;
uses crt;

var
tab:array [1..5,1..5] of integer;
pob:array [1..5] of integer;
por:array [1..5] of integer;
a,b,chislo:integer;

BEGIN

clrscr; a := 1;
repeat
b := 1;
repeat

if a=b then tab[a,b]:=0
else
repeat
write('Vvedite znachenie yacheyki (',a,',',b,'): ');
readln(tab[a,b]);
if (tab[a,b]<0) or (tab[a,b]>2) then
writeln('Nevernoe znachenie. Povtorite eshe raz.');
until (tab[a,b] >= 0) and (tab[a, b] <= 2);

inc(b);
until b > 5;

inc(a);
until a > 5;

writeln;
writeln('Poluchennaya matritsa:');
a := 1;
repeat
writeln(tab[a,1],' ',tab[a,2],' ',tab[a,3],' ',tab[a,4],' ',tab[a,5]);
inc(a)
until a > 5;


a := 1;
repeat

pob[a]:=0; por[a]:=0;
b := 1;
repeat
if a<>b then begin

if tab[a,b]=0 then por[a]:=por[a]+1;
if tab[a,b]=2 then pob[a]:=pob[a]+1;

end;
inc(b);
until b > 5;
inc(a)
until a > 5;

chislo:=0;
a := 1;
repeat
if pob[a]>por[a] then chislo:=chislo+1;
inc(a);
until a > 5;

writeln;
writeln('Chislo komand, u kotoryh pobed bolshe, chem porazheniy, ravno ',
chislo);
readln;

END.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





Группа: Пользователи
Сообщений: 5
Пол: Женский

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


Через while не получается. (наверное я дура)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Что там может НЕ получаться? Ты знаешь, как цикл While организуется?


Прикрепленные файлы
Прикрепленный файл  while.pas ( 1.31 килобайт ) Кол-во скачиваний: 240
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 5
Пол: Женский

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


Я поняла в чем была моя ошибка. Спасибо тебе огромное volvo wub.gif wub.gif wub.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 26.04.2024 5:42
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name