Skocz do zawartości

Problem z macierzą


Emhyr

Polecane posty

Witam serdecznie!

Mam problem z fragmentem programu. Otóż tenże program tworzy dwie losowe macierze a następnie trzecią która jest iloczynem dwóch poprzednich. Jeśli w drugiej macierzy liczba wynosi 0 to do odpowiedniej komórki w macierzy końcowej ma się pojawić napis "Brak wyniku!". Wszystko byłoby dobrze gdyby nie fakt, że macierze są typu Real a napis chcąc nie chcac to String. Jak umieścić w takiej macierzy łańcuch?

Poniżej kod:

 

Program Macierze;

Uses Crt;

Var

i, j : Integer;

a : String;

t1, t2, t3 : Array [1..10, 1..10] of Real;

Begin

ClrScr;

Randomize;

For i:=1 to 10 do

Begin

For j:=1 to 10 do

Begin

t1[i,j]:=random(10);

t2[i,j]:=random(10);

End;

End;

For i:=1 to 10 do

Begin

For j:=1 to 10 do

Begin

If (t2[i,j]=0) then

Begin

 

Write(t3[i,j], ' ');

End

Else

Begin

t3[i,j]:=t1[i,j]/t2[i,j];

Write(t3[i,j] :3:2, ' ' );

End;

End;

End;

ReadLn;

End.

 

 

Dziękuję i pozdrawiam!

Link do komentarza
Udostępnij na innych stronach

Niestety wywala mi następujący błąd:

 

source.pas(29,47) Error: Identifier not found "FloatToStr"

source.pas(30,46) Error: Illegal use of ':'

 

Oto kod:

 

Begin

t3[i,j]:=FloatToStr(t1[i,j]/t2[i,j]);

Write(t3[i,j] :3:2, ' ' );

End;

Link do komentarza
Udostępnij na innych stronach

Tak, moze wkleję cały kod?

 

Program Macierze;

Uses Crt;

Var

i, j : Integer;

t1, t2 : Array [1..10, 1..10] of Extended;

t3 : Array [1..10, 1..10] of String;

Begin

ClrScr;

Randomize;

For i:=1 to 10 do

Begin

For j:=1 to 10 do

Begin

t1[i,j]:=random(10);

t2[i,j]:=random(10);

End;

End;

For i:=1 to 10 do

Begin

For j:=1 to 10 do

Begin

If (t2[i,j]=0) then

Begin

t3[i,j]:='Brak wyniku!';

Write(t3[i,j], ' ');

End

Else

Begin

t3[i,j]:=FloatToStr(t1[i,j]/t2[i,j]);

Write(t3[i,j] :3:2, ' ' );

End;

End;

End;

ReadLn;

End.

 

 

 

Ktoś wie o co może chodzić?

Link do komentarza
Udostępnij na innych stronach

A gdzie masz dołączony moduł SysUtils? Od kiedy do działania FloatToStr potrzebne jest Crt? Myśl, myśl, myśl! Wyraźnie widać co trzeba dodać po tym artykule. Najpierw ogarnij podstawy języka, a dopiero później bierz się za pisanie czegokolwiek w czymkolwiek!

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

Przepraszam bardzo ale właśnie się uczę na zajęciach tego języka więc myślałem, że napisanie na forum o Pascalu to dobry pomysł jeśli nie rozumiem zadania które miałem wykonać. Nie da się grzeczniej? Trzeba odrazu naskakiwać?

Link do komentarza
Udostępnij na innych stronach

Nie naskakuje, podałem Tobie grzecznie link. Tam wyraźnie jest napisane. Między innymi "Moduł: SysUtils". Jeżeli nic to Tobie "nie mówi", to należy poczytać kurs z podstawami. Z niego dowiedzieć się co i jak. Także motywowałem Ciebie byś pomyślał i poczytał na temat podstaw. Nieważne jakie forum, jaki dział, jaki problem. Najpierw sami googlujemy i kombinujemty do bólu. Pisanie z pytaniem gdziekolwiek powinno być zawsze potraktowane jako ostateczność. Po wyczerpaniu własnych prób rozwiązania danego problemu :/

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

"Myśl, myśl, myśl! Wyraźnie widać co trzeba dodać po tym artykule. Najpierw ogarnij podstawy języka, a dopiero później bierz się za pisanie czegokolwiek w czymkolwiek! " - grzecznie?

Nigdy nie używałem innego modułu niż CRT i nie zauważyłem powyższego.

Próbowałem przez 2 dni, przejrzałem wiele stron, kombinowałem z wieloma poleceniami i skoro sam już nie potrafiłem to postanowiłem napisać.

Poradziłem sobie, dziękuję za pomoc.

Link do komentarza
Udostępnij na innych stronach

To według mnie jest normalnie. Neutralnie i sugerująco co masz robić. Wklejasz na pocżatek niesformatowany kod bez otagowania koloryzującego. a to nie jest grzecznie na pewno. Ponieważ pokazuje zerowy szacunek do potencjalnych czytających. A i wiem, że parser na tym forum rozwalił by i tak formatowanie, ale od tego są zewnętrzne pastebiny. Ale jeśli sobie poradziłeś to ok, przez dwa dni można było wklejając komunikat błędu do google i tak znaleźć odpowiedzi.

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

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

×
×
  • Utwórz nowe...