Автор Тема: въпрос свързан с паскал  (Прочетена 1598 пъти)

forlin

  • Участници
  • ***
  • Публикации: 5
    • Профил
въпрос свързан с паскал
« -: Oct 21, 2007, 19:08 »
здравейте имам да направя една програмка на турбо паскал но проблема е 4е не го разбирам дали има някой от форума който може да ми помогне ще съм много благодарен
ето я и самата задача:
Да се състави програма за обработка на масива
Активен

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
въпрос свързан с паскал
« Отговор #1 -: Oct 21, 2007, 20:04 »
А някой да дойде и да сготви и почисти у вас?
Напиши си я сам, ако (като) получиш грешки питай
Активен

0x2B|~0x2B

forlin

  • Участници
  • ***
  • Публикации: 5
    • Профил
въпрос свързан с паскал
« Отговор #2 -: Oct 22, 2007, 23:13 »
E da prav si,no problemut e che nishtichko ne shvashtam ot Pascal! '<img'> Vse pak se opitah da napravq ne6to,no dori ne sum siguren dali e vqrno.Ako nqkoi moje da mi pomogne she sum mu mnogo blagodaren, zashtoto chetvurtuk e krainiqt srok za predavane!  ':crazy:' Blagodarq vi predvaritelno! A eto i opita mi :                                                                    Program masiv;
Const m=11;
Var
A:array[1..m,1..m] of Integer;
,C,Br,Cmax,I,J,x,y,SUM:Integer;
Begin
Writeln(‘Avtor..’);
Writeln(‘Fak.nom..,gr..,spec..’);
Writeln(‘Uslovie na zadachata..’);

{Vavejdane na elementite na masivaA}

for I:=1 to m do
for J:=1 to m do
Repeat
Write(‘Vavejdate chislo mejdu 1;999.99-A[‘,I,’,’,J,’]=’);
Readln(A[I,J]);
until((A[I,J]>=1) and (A[I,J]<999.99));

{Izvejdane na elementite na masiva A}

writeln;
writeln(‘Vavedete stoinosti na masiva A:’);
for I:=1 to m do
begin
for J:=1 to m do
write(A[I,J]:11);
writeln;
end;

{Vavejdane na C I intervala [x,y]}

writeln;
write(‘Vavedete chisloto C=’);
readln©;
write(‘Vavedete dolna granica x=’);
readln(x);
write(‘Vavedete gorna granica y=’);
readln(y);
Активен

crasher5

  • Напреднали
  • *****
  • Публикации: 100
    • Профил
въпрос свързан с паскал
« Отговор #3 -: Oct 23, 2007, 00:45 »
До тук виждам, че си направил 2 грешки... Нямам време сега да седна и да ги оправя, но ако имам време по-касно довечера ще ги имаш.. макар, че от 3 години не сам пипал паскал и сам позабравил нещата... Първо като въвеждаш числата, трябва да са =>1 и <=1000 и да са цели.. не ми е ясно защо го намесваш това 999.99 там. И втория ти проблем е С... какво точно го караш да бъде/прави за сега?! Наистина ще се постарая да драсна нещо по въпроса по-касно просто защото и аз започнах с Паскал... носталгия!
Активен

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
въпрос свързан с паскал
« Отговор #4 -: Oct 23, 2007, 03:58 »
"Като знам какъв инженер съм, ме е страх да ида на доктор!"

Аре леко оффтопик - пич ако така небрежно го раздаваш далеч няма да стигнеш във Висшето си образование. После ще четем във форуми как има свободни работни места за инжинери и как някой се оплаква че не му се работи като Келнер защото имал висше.
Активен

mobilio - професионални мобилни приложения

plamen_f

  • Напреднали
  • *****
  • Публикации: 1246
    • Профил
въпрос свързан с паскал
« Отговор #5 -: Oct 23, 2007, 07:52 »
@ forlin

Приятел,

от написаното като идея за програма, оставам с усещането, че или си в 1-ви курс някъде и си там случайно или се майтапиш '<img'>

Във пъврия сучай - трябва учене братко, доста от хората тук че ти напишат това което искаш в рамките на 3-5 минути, но не вярвам някой да смята това за правилно!

Във втория - дай още нещо весело, полезно е за всички '<img'>

Упсех!
Активен

forlin

  • Участници
  • ***
  • Публикации: 5
    • Профил
въпрос свързан с паскал
« Отговор #6 -: Oct 23, 2007, 21:31 »
Редактирано съгласно т.3 от правилата на форума!
Активен

BOT_ev

  • Напреднали
  • *****
  • Публикации: 995
  • Distribution: Debian
  • Window Manager: KDE
    • Профил
въпрос свързан с паскал
« Отговор #7 -: Oct 23, 2007, 21:57 »
//off:
Баси колко съм отвикнал да чета шльокавица ... разглезихте ме в тоя форум ейй ..
Активен

Get to da chopa !!!
----------------------------------------------------------------------

forlin

  • Участници
  • ***
  • Публикации: 5
    • Профил
въпрос свързан с паскал
« Отговор #8 -: Oct 24, 2007, 22:58 »
Добре,вече наистина направих всичко по силите си,но ми излиза грешка.Моля ви да ми помогнете да я открия!Благодаря ви предварително!!!А ето и какво сум направил:
program zadcha;
Const m=11;
Var A:array[1..m,1..m] of Integer;
    C,Cmax,I,J,x,y,:Integer;
Begin
Writeln(‘Avtor..’);
Writeln(‘Fak.nom..,gr..,spec..’);
Writeln(‘Uslovie na zadachata..’);

{Vavejdane na elementite na masivaA}

for I:=1 to m do
 for J:=1 to m do
  Repeat
   Write(‘Vavejdate chislo mejdu 0;1000-A[‘,I,’,’,J,’]=’);
   Readln(A[I,J]);
  until((A[I,J]>=0) and (A[I,J]<1000));

{Izvejdane na elementite na masiva A}

writeln;
writeln(‘Vavedenite stoinosti na masiva A:’);
for I:=1 to m do
begin
 for J:=1 to m do
  write(A[I,J]:11);
 writeln;
end;

{noviq masiv C}

for I:=1 to m do
 for J:=1 to m do
  begin
    C[I,J]:=0;
    pom:=A[I,J];
    repeat
      C[I,J]:=C[I,J]+(pom mod 10);
      pom:=pom div 10;
    until (pom=0);
  end;

{Izvejdane na elementite na masiva C}

writeln(‘Vavedenite stoinosti na masiva C:’);
for I:=1 to m do
begin
 for J:=1 to m do
  write(C[I,J]:11);
 writeln;
end;

{tyrsene an maksimalen element na masiv C i negovite indexi}

Cmax:=C[1,1];
x:=1; y:=1;
for I:=1 to m do
 for J:=1 to m do
   if (C[I,J]>Cmax) then begin
            Cmax:=C[I,J];
            x:=I;
            y:=J;
          end;
writeln("maximalniq element na masiva C e C[",I,",",J,"]=",Cmax:11, ".");
 end.
Активен

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
въпрос свързан с паскал
« Отговор #9 -: Oct 25, 2007, 02:16 »
Помогни си сам да ти помогне и ...Линукс обществото.

Примерен код
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Const m=3;
Var A:array[1..m,1..m] of Integer;
   pom, Cmax,I,J,x,y:Integer;
   C:array[1..m,1..m] of Integer;

Begin
Writeln('Avtor..');
Writeln('Fak.nom..,gr..,spec..');
Writeln('Uslovie na zadachata..');

{Vavejdane na elementite na masivaA}

for I:=1 to m do
for J:=1 to m do
 Repeat
  Write('Vavejdate chislo mejdu 0;1000-A[',I,',',J,']=');
  Readln(A[I,J]);
 until((A[I,J]>=0) and (A[I,J]<1000));

{Izvejdane na elementite na masiva A}

writeln;
writeln('Vavedenite stoinosti na masiva A:');
for I:=1 to m do
begin
for J:=1 to m do
 write(A[I,J]:11);
writeln;
end;

{noviq masiv C}

for I:=1 to m do
for J:=1 to m do
 begin
   C[I,J]:=0;
   pom:=A[I,J];
   repeat
     C[I,J]:=C[I,J]+(pom mod 10);
     pom:=pom div 10;
   until (pom=0);
 end;

{Izvejdane na elementite na masiva C}

writeln('Vavedenite stoinosti na masiva C:');
for I:=1 to m do
begin
for J:=1 to m do
 write(C[I,J]:11);
writeln;
end;

{tyrsene an maksimalen element na masiv C i negovite indexi}

Cmax:=C[1,1];
x:=1; y:=1;
for I:=1 to m do
for J:=1 to m do
  if (C[I,J]>Cmax) then
  begin
    Cmax:=C[I,J];
    x:=I;
    y:=J;
  end;
writeln('maximalniq element na masiva C e C[',x,',',y,']=',Cmax:11, '.');
end.


Програмата работи успешно на Delphi. Ако промениш първите няколко реда ще тръгне и на ТурбоПаскал.

Внимавай с апострофите! Отне ми 3 минути да ти ги оправя навсякъде.

Масива C не беше дефиниран! Не беше дефинирана и променливата pom!

И на финала имаше една логическа грешка при извеждането на максималната стойност. В твоя пример използваш i & j което е груба грешка защото винаги излизат със стойност равна на M. Трябвало е да разпечаташ X & Y.

Само съм променил M да е равно на 3 щото съм мързелив да въвеждам 11^2 стойности.

Заслужих ли си бирата?
Активен

mobilio - професионални мобилни приложения