Математика


 Правила(обновени на 11.05.2008)   Търсене   Потребители   Потребителски групи   Регистрирайте сеРегистрирайте се 
 ПрофилПрофил   Влезте, за да видите съобщенията сиВлезте, за да видите съобщенията си   ВходВход 


Не е нужно да се регистрирате!

Задача на Паскал. Коригиране на кода


 
Създайте нова тема   Напишете отговор    Информатика Форуми -> Delphi(Pascal)
Предишната тема :: Следващата тема  
Автор Съобщение
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.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Реклама







Пуснато на:     Заглавие:

Върнете се в началото
Покажи мнения от преди:   
Създайте нова тема   Напишете отговор    Информатика Форуми -> Delphi(Pascal) Часовете са според зоната GMT + 2 Часа
Страница 1 от 1

 
Идете на:  
Можете да пускате нови теми
Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети
You cannot attach files in this forum
Може да сваляте файлове от този форум
Copyright © 2007-2013 math10.com.   изработка на сайт