Skocz do zawartości

Drobne błędy, z którymi nie mogę sobie poradzić.


Majkelo

Polecane posty

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 :huh:

 

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 do komentarza
Udostępnij na innych stronach

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 do komentarza
Udostępnij na innych stronach

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 do komentarza
Udostępnij na innych stronach

Co do jedynki:

 

nie przeglądałem całego kodu, bo i tak nie wiem co to są macierze :mellow: , 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 do komentarza
Udostępnij na innych stronach

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? :mellow:

Link do komentarza
Udostępnij na innych stronach

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 do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...