Emhyr Napisano Maj 15, 2015 Zgłoś Share Napisano Maj 15, 2015 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 More sharing options...
5corpio Napisano Maj 15, 2015 Zgłoś Share Napisano Maj 15, 2015 To może końcową macierz zrób po prostu z danymi string i rzutuj tylko real na string zawsze (a jak ma być tekst to i tak się będzie zgadzać bo będzie string). Bo zakładam, że i tak potem na tej końcowej żadnych obliczeń nie wykonujesz. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Emhyr Napisano Maj 17, 2015 Autor Zgłoś Share Napisano Maj 17, 2015 Myślałem nad tym jednakże nie wiem jak tego dokonać. Należy użyć polecenia "FloatToStr"? Jaka jest jego składnia? Link do komentarza Udostępnij na innych stronach More sharing options...
olesio Napisano Maj 17, 2015 Zgłoś Share Napisano Maj 17, 2015 Co do FloatToStr to... http://4programmers.net/Delphi/FloatToStr http://www.delphibasics.co.uk/RTL.asp?Name=FloatToStr Pozdrawiam: olesio Link do komentarza Udostępnij na innych stronach More sharing options...
Emhyr Napisano Maj 17, 2015 Autor Zgłoś Share Napisano Maj 17, 2015 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 More sharing options...
olesio Napisano Maj 18, 2015 Zgłoś Share Napisano Maj 18, 2015 Przeczytaj jeszcze raz dokładnie artykuł z pierwszego linka. Bo widze, że masz problemy z banałami i czytaniem. Pozdrawiam: olesio Link do komentarza Udostępnij na innych stronach More sharing options...
Emhyr Napisano Maj 18, 2015 Autor Zgłoś Share Napisano Maj 18, 2015 Czytam i czytam i nie rozumiem gdzie mam błąd. Czy może mi ktoś wyjaśnić? Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Maj 18, 2015 Zgłoś Share Napisano Maj 18, 2015 Zmieniłeś t3 na tablicę stringów tak w ogóle? Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Emhyr Napisano Maj 18, 2015 Autor Zgłoś Share Napisano Maj 18, 2015 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 More sharing options...
olesio Napisano Maj 19, 2015 Zgłoś Share Napisano Maj 19, 2015 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 More sharing options...
Emhyr Napisano Maj 19, 2015 Autor Zgłoś Share Napisano Maj 19, 2015 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 More sharing options...
olesio Napisano Maj 20, 2015 Zgłoś Share Napisano Maj 20, 2015 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 More sharing options...
Emhyr Napisano Maj 20, 2015 Autor Zgłoś Share Napisano Maj 20, 2015 "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 More sharing options...
olesio Napisano Maj 20, 2015 Zgłoś Share Napisano Maj 20, 2015 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 More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.