Majkelo Posted October 3, 2009 Report Share Posted October 3, 2009 Witam serdecznie. Na wstępie zaznaczam, że PRZECZYTAŁEM PIERWSZY TEMAT TEGO FORUM i wiem o tym, że nie jest to miejsce gdzie się szuka frajera itp... Jeśli będę mógł to każdemu pomogę, teraz ja po prostu potrzebuję pomocy. Nie proszę "napiszcie program", tylko mam kłopot z jakimiś szczególikami, dlatego proszę Pana Tostera o nie kasowanie od razu tego temat. Mam problem z zadankami do szkoły Wiem, że to nieładnie tak na powitanie od razu prosić o pomoc, no ale sytuacja jest bardzo awaryjna i może znajdzie się ktoś tak dobry. Przejdźmy do rzeczy: 1.Dana jest macierz {A i,j}, gdzie i=1..M; j=1..N.Napisz algorytm znajdujący liczbę wierszy macierz, których suma elementów jest parzysta. Program macierz; uses crt; const n=4; m=5; type a=array[1..m,1..n] of integer; var licznik,i,j:integer; suma:longint; element:a; begin clrscr; licznik:=0; randomize; for i:=1 to m do begin for j:=1 to n do begin element[j]:=random(10); write(element[j],' '); end; writeln; end; for i:=1 to m do begin for j:=1 to n do begin suma:=suma+element[j]; end; if suma mod 2 = 0 then inc(licznik); write ('suma :',suma:2); writeln; suma:=0; END. Nie wiem dlaczego pokazuje mi błędy 2. Lista jednokierunkowa dodanie elementu na koniec listy i opisać: PROGRAM koniec; Type wskaznik=^element; element=record next:element; dane:char; end; Var korzen:wskaznik; wsk:wskaznik; A:char; p:wskaznik; begin p:korzen; new(wsk); wsk^.dane:=A; wsk^.next:=nil; while p^.next<>nil do p:=p^.next; p^.next:=wsk; end. To samo:/ Jakieś errory. 3. Program na potęgę: PROGRAM Potega; Uses Crt; VAR a, b, c, d : integer function potega (c, d : integer) : integer BEGIN If d=0 then potega=1 else potega = c* potega (c, d-1); End; BEGIN writeln ( 'Podaj podstawe a' ) ; Readln(a); writeln ( 'Podaj potege b' ) ; Readln(B); writeln ( Potega(a,B) ); Readln; END. Również błędy. A zadanie z jakim mam największy problem, to zadanie na PRZECIWPRZEKĄTNĄ. Doskonale wiec co to jest przeciwprzekątna macierzy, ale totalnie nie wiem jak się zabrać do napisania takiego programu Będę wdzięczny za każdą pomoc. Pozdrawiam. Link to comment Share on other sites More sharing options...
Majkelo Posted October 3, 2009 Author Report Share Posted October 3, 2009 Końcówka już nieważna, bo przeciwprzekątną wymyśliłem, tak by to wyglądało: PROGRAM przeciwprzek; var t:array[1..100] of integer; var i,j:integer; BEGIN FOR i:=0 TO 6 DO BEGIN FOR j:=0 TO 6 DO IF 5-j+1=i THEN write('1') ELSE write('0'); writeln(''); readln; END; END. Może się komuś przyda Link to comment Share on other sites More sharing options...
KANAR123 Posted October 4, 2009 Report Share Posted October 4, 2009 hyh potęgi: KOD PROGRAM Potega; Uses Crt,math; VAR a,b,e : real; function potega (c, d : real) : real; Begin If d=0 then e:=1 else // gdy potega=0 wtedy wynik=1 e := power(c,d); // przypisanie wyniku potegowania do e End; BEGIN clrscr; Writeln('Program podnosi liczbe A do potegi B:'); writeln ('Podaj podstawe A'); Readln(a); // Pobieranie a,b writeln ('Podaj potege B'); Readln(b); potega(a,b); // nadawanie parametrom aktulanym wartosci a,b writeln(e:0:2); // wyswietlenie do 2 miejsca po przecinku Readln; // oczekiwanie na klawisz END. Link to comment Share on other sites More sharing options...
Adam27 Posted October 5, 2009 Report Share Posted October 5, 2009 Co do jedynki: nie przeglądałem całego kodu, bo i tak nie wiem co to są macierze , ale na początku chyba zamiast a=array[1..m,1..n] of integer;0yo'^bpv'&łREbFVvW#\0 Nie można przy deklaracji tablic i ustawianiu ich wielkości używać zmiennych ani stałych... Pozdrawiam Adam27 Etharnion - 2D RPG Szukam grafika chętnego do współpracy przy projekcie. Link to comment Share on other sites More sharing options...
xevil21 Posted October 5, 2009 Report Share Posted October 5, 2009 a ja myślę, że można... stałych używać <_> Pozdrawiam! Link to comment Share on other sites More sharing options...
Majkelo Posted October 7, 2009 Author Report Share Posted October 7, 2009 Dzięki za dotychczasowe odpowiedzi! Końcówka już nieważna, bo przeciwprzekątną wymyśliłem, tak by to wyglądało: PROGRAM przeciwprzek; var t:array[1..100] of integer; var i,j:integer; BEGIN FOR i:=0 TO 6 DO BEGIN FOR j:=0 TO 6 DO IF 5-j+1=i THEN write('1') ELSE write('0'); writeln(''); readln; END; END. Może się komuś przyda Tutaj to jednak nie jest to o co chodzi do końca... Bo tu tworzy mi wiersz, enter następny, enter następny... I tak do końca. A to ma wyrysować chyba macierz... :/ Warunek myślę, że jest dobry tylko kwestia jak zrobić, żeby wyrysowało tą macierz, a nie linijka po linijce? Link to comment Share on other sites More sharing options...
xevil21 Posted October 8, 2009 Report Share Posted October 8, 2009 PROGRAM przeciwprzek; var t: array[1..100] of integer; i, j: integer; BEGIN FOR i:=0 TO 6 DO BEGIN FOR j:=0 TO 6 DO IF 5-j+1=i THEN write('1') ELSE write('0'); writeln(''); END; readln; END. Link to comment Share on other sites More sharing options...
Majkelo Posted October 11, 2009 Author Report Share Posted October 11, 2009 xevil21 dziękówka! Zapis na koniec listy mi wywala błąd 216, czy coś na prawdę jest nie tak?? Oto kod: program na_koniec; type wskaznik = ^element; element = record dane : char; next : wskaznik; end; var korzen : wskaznik; wsk : wskaznik; p : wskaznik; begin new(wsk); wsk^.dane := 'A'; wsk^.next := nil; while p^.next<>nil do begin p := p^.next; p^.next := wsk; end; end. A jeśli chodzi o przeciwprzekątną, to może komuś się przyda program który liczy średnią i sumę jej elementów: program przekatna; Uses Crt; type tablica=array[1..3,1..3] of integer; var element:tablica; n,m:integer; suma:integer; srednia:real; begin ClrScr; randomize; for n:=1 to 3 do begin for m:=1 to 3 do begin element [n][m]:= random(10); write (element [n][m]); if 3-m+1=n then suma:= suma+element[n][m]; srednia:= suma/n; end; writeln; end; writeln (suma); writeln (srednia); readln; end. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.