Имам предвид да направя, така че деклараторът сам да определя броя на стълбовете и редовете на масива. На теория, знам че става чрез въвеждане на променлива F например и write(' Vuvedete broq na redovete i stulbovete na masiva');
readln(F);
Да обаче не става защото не ми разпознава интервала на матрицата без константата в него. Ето как изглежда програмата ми досега:
Код:
Код:PROGRAM Kursova_rabota_No1; CONST N=3; M=(N*(N-1)) DIV 2; VAR A:ARRAY [1..N,1..N] OF REAL; C:ARRAY [1..M] OF REAL; X:REAL; I,J,K:INTEGER; BEGIN writeln ('***********************************************************'); writeln ('This program was made by Grigor Ivanov, N: 051208059 . '); writeln (' TU - Sofia , Departament of Thermalengineering '); writeln ('*************************************************************'); writeln (' ---===<<< Kursova Zadacha N:1 >>>===---'); writeln ('___________________________________________________________'); writeln (' Da se sustavi programa za obrabotka na masiva A[N,N] kudeto'); writeln (' dannite sa realni chisla v intervala [-1000; 1000], da izvurshvat slednite deistviq:'); writeln (' * otpe4atvane na uslovieto na zada4ata'); writeln (' * otpe4atvane avtora na programata'); writeln (' * vuvejdane na vhodnite danni'); writeln (' * otpe4atvane na vhodnite danni'); writeln (' * a) da se obrazuva ednomeren masiv C, elementite na koito sa elementite na masiva A'); writeln (' * namira6ti se pod glavniq, diagonal, b) polu4eniqt masiv da se sortira po golemina'); writeln (' * otpe4atvane na polu4enite rezultati i sled obrabotka a) i sled obrabotka b)'); writeln ('_____________________________________________________________'); writeln; { VYVEJDAME DANNITE } FOR I:=1 TO N DO BEGIN WRITELN(I,':'); FOR J:=1 TO N DO BEGIN REPEAT WRITE(' ',J,'.'); READLN(X); UNTIL (X>=-1000) AND (X<=1000); A[I,J]:=X; END END; { IZVEJDAME MATRICATA } WRITELN('Matrica:'); FOR I:=1 TO N DO BEGIN FOR J:=1 TO N DO WRITE(A[I,J]:2:2,' '); WRITELN; END; { POPYLVAME MASIVA "C" S ELEMENTITE POD GLAVNIQ DIAGONAL } K:=1; FOR I:=2 TO N DO FOR J:=1 TO I-1 DO BEGIN C[K]:=A[I,J]; K:=K+1; END; { SORTIRAME MASIVA "C" } FOR I:=2 TO M DO BEGIN X:=C[I];J:=I-1; WHILE (X<C[J]) AND (J>0) DO BEGIN C[J+1]:=C[J]; J:=J-1; END; C[J+1]:=X; END; { IZVEJDAME SORTIRANIQ MASIV } WRITELN; WRITELN('Sortirani elementi pod glavniq diagonal:'); FOR I:=1 TO M DO WRITE(C[I]:2:2,' '); readln END.
Какво може да се сложи вместо това N=3 като константа за да разпознае променливата

 Новини
 Новини Форум
 Форум Актуално
 Актуално сървър
 сървър




 
  
  
  Отговор с цитат
  Отговор с цитат
 
 