Tutaj widze pascala? jesli sie nie myle, hmm niestety programuje w dwóch innych jezykach ale algorytm bedzie wygladal nastpujaca wg niego zrob.
Przede wszystkim lecisz po dwoch petlach zagniezdzonych w sobie nadaj sobie 3 zmienne pomocnicze(nie wiem czy nie za duzo ale narazie nie myslmy o optymalizacji) do jednej bedziesz zapisywal liczbe z porównania do dwóch pozostałych zapiszesz nr kolumny i wiersza w której się znajdują.
zapisze to algorytmem:
Kod: Zaznacz cały
int a;
int b,c;
a = macierz[1,1] ; <-- 1 element mozesz przyjac jako uporzadkowany
// nie wiem od jakis indeksow zaczynaly sie w paskalu macierze (zaczne od 1)
for i=1 to (tutaj mozesz przyjac zmienna podana przy tworzeniu macierzy) do
for j =1 to (tutaj to samo) do
if (macierz[i,j] < 0 ) <-- sprawdzam tutaj czy jest dodatnia czy ujemna bo mowa o bezwzglednych
{
if(a<(macierz[i,j]*(-1))
a=macierz[i,j];
b=i; c=j;
}
else if (a<macierz[i,j])
a=macierz[i,j];
b=i; c=j;
zalozylem ze zawsze znajdzie sie element wiekszy od zero (bezwzgledny)( choc chyba w elsie i tak robie dla zera
to by bylo wyszukiwanie maksa. przepraszam za zmieszany algorytm ale widze ze robisz pascalem a ja preferuje c/c++ badz c# ale powinienies sie skapnac.
Metoda ktora kasuje hmm nie wiem jak to zrobic w pascalu, ale moze da sie apisac metode(nie wiem jak to w pascalu procedure?) ktora zwraca ci taka macierz.
Ostatnio zmieniony 17 lut 2011, o 22:22 przez
Crizz, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości. Kod programu, pseudokod itp. proszę umieszczać wewnątrz klamer [code][/code].