Skocz do zawartości
Crash_Black

Problem Z Funkcja... [c++]

Rekomendowane odpowiedzi

Mam do napisania funkcje która robi następujące rzeczy:

 

Znajduje w macierzy kwadratowej największy element (MAX) zapamiętuje jego pozycje np. 2 wiersz 5 kolumna, a następnie robie tak aby ten element pozostał na swoim miejscu a liczby znajdujące sie w kolumnie tego elementu zamianialy sie pozycjami z liczbami leżącymi w wierszu tego elementu, resztę liczb w macierzy ma pozostać nie ruszana

 

czyli jak np. mamy macierz:

 

1 3 5

2 5 6

0 1 4

 

to ma ona wyglądać po przekształceniu tak:

 

1 3 2

5 4 6

0 1 5

 

czyli liczby z kolumny 3 zamieniły się miejscami z liczbami z wiersza 2. to w jaki sposob one sie zamiania czyli na jakich beda miejscach jest nieważne ważne żeby sie zamianily.

 

 

void MAKSYMALNY(float tab[8][8],int x){	 cout<<"\n\n";	 cout<<"\n\n";	 float MAX=tab[0][0];	 int w,k;	 for(int i=0;i<x;i++)	 {			 for(int j=0;j<x;j++)			 {					 if(tab[i][j]>MAX)					 {									  MAX=tab[i][j];									  w=i;									  k=j;					 }			 }	 }	 cout<<"Maksymalny element wynosi "<<MAX<<" i znajduje sie w wierszu "<<w+1<<" oraz kolumnie "<<k+1;	 cout<<"\n\n";//// w tym miejscu sie zaciełem i nie wiem co zrobić by to własnie zamianiło.//}

Walczę z tym od 2 tygodni i jakoś mi nie wychodzi.

 

Prosze o pomoc.

 

Dziekuje i pozdrawiam.

Jesli jest cos nie jasne to przepraszam staralem sie to wytlumaczyc jak tlyko potrafie bo mi babka to wytłumaczyła znacznie gorzej.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

takie coś zamieni cały wiersz z kolumną:

float tmp;for (i=0; i<x; i++) { tmp = tab[w][i]; tab[w][i]=tab[i][k]; tab[i][k] = tmp;}

lecz chcesz aby jedn element pozostał na swym miejscu (ten znajdujacy się na przecięciu), więc powinno być tak:

for(i=0,j=0; i<x || j<x; i++, j++) { if (i == k)	i++; if (j==w)   j++;if(j >= x || i >= x)  break;  tmp = tab[w][i]; tab[w][i] = tab[j][k]; tab[j][k] = tmp;}
i po bólu powinno działac, choć nie sprawdzałem tego w praktyce ale wydaje mi się że zadziała. Kod jest napisany z palca więc nie jest zbyt ładny i przejrzysty.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...