Не е нужно да се регистрирате!
Задача на Паскал. Коригиране на кода
|
| Предишната тема :: Следващата тема |
| Автор |
Съобщение |
cthulhu47
Регистриран на: 22 Apr 2010 Мнения: 1
|
Пуснато на: Thu Apr 22, 2010 2:54 pm Заглавие: Задача на Паскал. Коригиране на кода |
|
|
Здравейте имам проблем със решаването на едно от условията на задача на паскал,
задачата е следната:
Да се състави главна програма за обработка на три масива M[10x12] и N[14x16] и B[15x19], където данните са числа в интервала [0 – 999]. Съответните подпрограми да извършват следните обработки:
• извеждане условието на задачата и името на автора;
• въвеждане на входните данни;
• извеждане на входните данни;
• да се намери реда съдържащ най-много четни елементи и да се нулират съседните му редове;
• резултатите да се изведът на екрата.
Проблемът ми е с четвърто то условие (да се намери реда съдържащ най-много четни елементи и да се нулират съседните му редове).
Мога да изведа максималния брои на четните числа които се съдържат в един от всичките редове, но си нямам да идея как да разбера(по точно програмата да разбере) на кой ред има най-много четни числа и съответно да накарам програмата да промени горния и долния ред(в случая да ги нулира).
Ако някой знае как да реша условието моля да сподели.
Благодаря.
Ето и самия код
| Код: |
program zadacha;
var
m : array[1..10,1..12] of integer;
n : array[1..14,1..16] of integer;
b : array[1..15,1..19] of integer;
m1,m2,n1,n2,b1,b2 : integer;
s,s2:integer;
begin
{izvejdane na uslovieto na zadachata i imeto na avtora}
writeln;
writeln;
writeln;
writeln(' Da se sastavi glavna programa za obrabotka na tri masiva M[10x12] i N[14x16] i');
writeln('B[15x19], kadeto dannite sa chisla v intervala [0 - 999]. Saotvetnite podprogrami da');
writeln('izvarshvat slednite obrabotki:');
writeln(' - izvejdane na uslovieto na zada4ata i imeto na avtora;');
writeln(' - vavejdane na vhodnite danni;');
writeln(' - izvejdane na vhodnite danni;');
writeln(' - da se nameri reda sadarjasht nai-mnogo chetni elementi i da se nulirat sasednite mu redove;');
writeln(' - rezultatite da se izvedat na ekrana.');
writeln;
writeln('Sastavil imeto na avtora');
{vavejdane na 1vi masiv}
for m1 := 1 to 10 do
for m2 := 1 to 12 do
repeat
write('vavedete stoinostine na purviqt masiv M[',m1,',',m2,'] = ');
readln(m[m1,m2]);
until ((m[m1,m2] >= 0) and (m[m1,m2] <= 999));
{vavejdane na 2ri masiv}
for n1 := 1 to 14 do
for n2 := 1 to 16 do
repeat
write('vavedete stoinostine na vtoriqt masiv N[',n1,',',n2,'] = ');
readln(n[n1,n2]);
until ((n[n1,n2] >= 0) and (m[n1,n2] <= 999));
{vavejdane na 3ti masiv}
for b1 := 1 to 15 do
for b2 := 1 to 19 do
repeat
write('vavedete stoinostine na tretiqt masiv B[',b1,',',b2,'] = ');
readln(b[b1,b2]);
until ((b[b1,b2] >= 0) and (b[b1,b2] <= 999));
writeln;
{izvejdane na 1vi masiv}
writeln('stoinosti na parvi masiv M:');
for m1 := 1 to 10 do
begin
writeln;
for m2 := 1 to 12 do
write(m[m1,m2]:5,' ');
end;
{izvejdane na 2ri masiv3
}
writeln('stoinosti na vtori masiv N:');
for n1 := 1 to 14 do
begin
writeln;
for n2 := 1 to 16 do
write(n[n1,n2]:5,' ');
end;
{izvejdane na 3ti masiv}
writeln('stoinosti na treti masiv B:');
for b1 := 1 to 15 do
begin
writeln;
for b2 := 1 to 19 do
write(b[b1,b2]:5,' ');
end;
{naminane na reda s nai mnogo chetni elementi i nuliraneto na sasednite redovena masiv M}
for m1 := 1 to 1 do
begin
for m2 := 1 to 12 do
if (m2 mod 2=0) then
s:=s+1;
end;
s2:=s;
s:=0;
for m1 := 2 to 10 do
begin
for m2 := 1 to 12 do
if (m2 mod 2=0) then
s:=s+1;
if s>s2 then
begin
s2:=0;
s2:=s;
s:=0;
end
else
s:=0;
end;
writeln(s,s2);
{izvejdane na ve4e obrabotenite masivi}
{ne sum peistnal coda tui kato e su6tiq kato izvejdaneto v na4aloto :) }
readln;
end.
|
|
|
| Върнете се в началото |
|
 |
Реклама
|
Пуснато на: Заглавие: |
|
|
|
|
|
| Върнете се в началото |
|
 |
|
|
Можете да пускате нови теми Можете да отговаряте на темите Не Можете да променяте съобщенията си Не Можете да изтривате съобщенията си Не Можете да гласувате в анкети You cannot attach files in this forum Може да сваляте файлове от този форум
|
|