Re: Паскал: Интересна задача
Здравей, имам много интересно лозе за прекопаване, на баир, обаче не знам как се държи мотиката.
Бирата е от мен. :Drinks:
Re: Паскал: Интересна задача
дай ще измислим нещо :jamaika
Re: Паскал: Интересна задача
Цитат:
Първоначално публикувано от xzone
дай ще измислим нещо :jamaika
За данъчен ли учиш ;) Правилната реплика не бива да започва с 'ДАЙ', а с 'Вземи да измислим нещо' ;)
Ноо, както всички знаят в тоя форум, понеже съм добър по душа, ето ти насока за работа (копане):
Код:
Program Interesna_Zadacha;
uses Crt;
Const N=10; //broi na dannite v masiva
Var
A:array[1..n,1..n] of integer;
C:array[1..n,1..n] of integer;
Procedure EnterMasiv(m:integer);
VAR I,J:integer;
begin
For I:=1 to M do
For J:=1 to M do
begin
Write('N ',I,'-',j,'=');Readln(A[i,j]);
end;
end;
Procedure PrintMasiv(M:integer);
Var I,J:Integer;
begin
ClrScr;
For I:=1 to M do
For J:=1 to M do
begin
WriteLn('N ',I,'-',J'=',A[i,j]);
end;
end;
begin
ClrScr;
EnterMasiv(n);
PrintMasiv(n)
Preobraz(n);
Sort(N);
PrintMasivNew(n)
end.
Ако си по-наблюдателен, ще забележиш, че някой процедури липсват, но нали и ти все нещо трябва да свършиш.
Щото ако от началото си тръгнал да мързелуваш и друг да ти върши работата - друго освен директор няма да станеш, както мъдро разказва Страхил Божикравов в епизод от УЛИЦАТА :))
PS. Коригирах малко кода, в бързането да помогна съм недогледал ;) 10x на dmanov
Re: Паскал: Интересна задача
Цитат:
Първоначално публикувано от Black Adder
За данъчен ли учиш ;) Правилната реплика не бива да започва с 'ДАЙ', а с 'Вземи да измислим нещо' ;)
.....
Щото ако от началото си тръгнал да мързелуваш и друг да ти върши работата - друго освен директор няма да станеш, както мъдро разказва Страхил Божикравов в епизод от
УЛИЦАТА :))
@Black Adder: :bravo :bravo :Drinks:
Добавено към Blacky's Pearls!!! :016:
Извинявам се за :offtopic:-а, но бисерчето си е чудно!!! :))
Re: Паскал: Интересна задача
Напълно съм съгласен, че подсказката е най-доброто за човека, още повече, че никъде не иска готово решение на задачата.
Позабравил съм Pascal-а, но мисля, че има малки грешки, които в "подсказка" не би трябвало да ги има:
1. Входният масив е двумерен NxN
2. Изходният масив съдържа елементите под диагонала на входния. Т.е. неговите елементи са Nx(N-1)/2
Re: Паскал: Интересна задача
Еййй велики сте хора ! Казвайте сега къде си искате бирите :D
Значи имам малък проблем,
стигнах до тук
Код:
program kursova1;
uses crt;
const z=1000; y=1000;
var n,m,i,j,k,r,min:integer;
flag:boolean;
a : array [1..z,1..y] of integer;
b : array [1..z] of integer ;
label et1,et2;
begin
writeln ('-------------------------------------------------------------');
writeln ('This program was made by G. Ivanov , N: . ');
writeln (' TU - Sofia , Departament of ThermalPower Engineering ');
writeln ('*************************************************************');
writeln (' ---===<<< Kursova Zadacha N:1 >>>===---');
writeln ('___________________________________________________________');
writeln (' Да се състави програма за обработка на масива A[N,N] където данните са реални числа в интервала [- 1000 - 1000], да извършват следните действия:
- въвеждане на входните данни
- отпечатване на входните данни
- а) да се образува едномерен масив С, елемените на който са елементите от масива А намиращи се под главния диагонал.
б) Получения масив да се сортира по големина.
- отпечатване на получените резултати след обработка a) и обработка б).
');
writeln ('_____________________________________________________________');
writeln;
write ('Molq vuvedete broja Redowe na mnojestwoto A: ');
readln (n);
write ('Molq vuvedete broja Stulbowe na mnojestwoto A: ');
readln (m);
writeln ('Molq vuvedete stojnostite na mnojestwoto A: ');
for i:=1 to n do
for j:=1 to m do
begin
et1:
write ('A[',I,',',J,']:');
readln (A[I,J]);
if sqr(A[i,j])>1000000 then
begin
Writeln ('Stojnostta triabva da e v intervalut [-1000 - 1000]');
goto et1;
end;
и се чудя
как да направя едномерен масив С, елемените на който са елементите от масива А намиращи се под главния диагонал?
може ли малко help
Re: Паскал: Интересна задача
:offtopic:
Тая тема е бих я сложил в "Логически задачи".
Другите ми коментари и обяснения може да обидят някои хора, така че ще ги спестя. Ако някой се интересува, като се видим на маса ще да го споделя :Drinks:
Re: Паскал: Интересна задача
Цитат:
Първоначално публикувано от xzone
begin
Writeln ('Stojnostta triabva da e v intervalut [-1000 - 1000]');
goto et1;
и се чудя
как да направя едномерен масив С, елемените на който са елементите от масива А намиращи се под главния диагонал?
"Божееееее, колко мъка има по тоя свят, Божееее! - промълви Моканина и продължи да скубе бялата лястовица"
Добре че не може да те види Никлаус Вирт как се гавриш с Pascal-a, щеше да грабне гьостерицата и чак от Швейцария да дойде да те направи двумерен. :blob1
Не че се заяждам, хайде - не ти се чете какво са писали хората в учебника - лошо няма :RTFM:, не ти се чете какво са писали хората в Интернет - добре :RTFM:, ама поне да беше прочел тук какво са ти отговорили. :RTFM:
Нейсе, така и така ще ставаш директор, вземи намери някое по-будно хлапе в махалата, черпи го една боза да ти напише задачката. :Drinks:
Re: Паскал: Интересна задача
Цитат:
Първоначално публикувано от Black Adder
"Божееееее, колко мъка има по тоя свят, Божееее! - промълви Моканина и продължи да скубе бялата лястовица"
Добре че не може да те види Никлаус Вирт как се гавриш с Pascal-a, щеше да грабне гьостерицата и чак от Швейцария да дойде да те направи двумерен. :blob1
Не че се заяждам, хайде - не ти се чете какво са писали хората в учебника - лошо няма :RTFM:, не ти се чете какво са писали хората в Интернет - добре :RTFM:, ама поне да беше прочел тук какво са ти отговорили. :RTFM:
Нейсе, така и така ще ставаш директор, вземи намери някое по-будно хлапе в махалата, черпи го една боза да ти напише задачката. :Drinks:
ти изобщо не се заяждаш :D
Re: Паскал: Интересна задача
Код:
k:=1
for i:=1 to z // редове
for j:=1 to z // колони
if( j<i ) then // при i=j сме на диагонала, при i<j сме над него, а при j<i - под
begin
c[k]:=a[i,j]
k:=k+1
end
Не ти трябва константа "y", масивът a е N на N, както е по условие
Масивът c (а не b) трябва да с размерност N*(N-1)/2
Всъщност, може да се оптимизира така:
Код:
k:=1
for i:=2 to z // редове
for j:=1 to i-1 // колони
begin
c[k]:=a[i,j]
k:=k+1
end
Re: Паскал: Интересна задача
Добре де ама защо ми дава грешка в "WriteLn('N ',I,'-',J'=',A[i,j]); " нещо не мога да си го обясня ? Иначе програма трябва да изглежда така, нали ?
Код:
Program Interesna_Zadacha;
uses Crt;
Const N=10; //broi na dannite v masiva
Var
A:array[1..n,1..n] of integer;
C:array[1..n,1..n] of integer;
Procedure EnterMasiv(m:integer);
VAR I,J:integer;
begin
For I:=1 to M do
For J:=1 to M do
begin
Write('N ',I,'-',j,'=');Readln(A[i,j]);
end;
end;
Procedure PrintMasiv(M:integer);
Var I,J:Integer;
begin
ClrScr;
For I:=1 to M do
For J:=1 to M do
begin
WriteLn('N ',I,'-',J'=',A[i,j]);
end;
end;
k:=1
for i:=2 to z // ðåäîâå
for j:=1 to i-1 // êîëîíè
begin
c[k]:=a[i,j]
k:=k+1
end
begin
ClrScr;
EnterMasiv(n);
PrintMasiv(n)
Preobraz(n);
Sort(N);
PrintMasivNew(n)
end.
Извинявам се за невежеството си... Просто програмата ми трябва за петък и нямам време да попрочета повече за Паскал
Re: Паскал: Интересна задача
Re: Паскал: Интересна задача
Цитат:
Първоначално публикувано от xzone
защо ми дава грешка в "WriteLn('N ',I,'-',J'=',A[i,j]); " нещо не мога да си го обясня ? ...
Една запетайка си пропуснал - WriteLn('N ',I,'-',J,'=',A[i,j]);
Успех в петък