Skocz do zawartości

Prywata C++


Mar

Rekomendowane odpowiedzi

Witam, mam za zadanie napisać funkcję, która zamini poszczególne elementy macierzy między sobą, tz. np. mając macierz:

[3 4 5

6 7 7] zaminiamy element w1,k1 z w2,k2 tak aby otrzymać macierz:

[7 4 5

6 3 7]

..więc napisałem funkcję:

void zamiana(int a[w][k],int w1,int k1,int w2,int k2)  
{
	  int w3,int k3;
	  int b[w1][k1];
	  b[w1][k1]=a[w1][k1];
	  a[w1][k1]=a[w2][k2];
	  a[w2][k2]=b[w1][k1];

	  //wypisanie nowej macierzy
  	  for (int i=0;i<=(w-1); i++)
   		{
		   	 for (int j=0;j<=(k-1);j++)
			 cout<<" "<<a[i][j]<<" ";
		   	   cout<<endl;
		}
}

wywołuję:

int w1;int k1;int w2;int k2;
			cout<<"Podaj wspolrzedne (w1, k1) elementu 1:\n";
			cout<<"numer wiersza w1=";
			cin>>w1;
			cout<<"numer kolumny k1=";
			cin>>w1;

			cout<<"Podaj wspolrzedne (w1, k1) elementu 2:\n";
			cout<<"numer wiersza w2=";
			cin>>w1;
			cout<<"numer kolumny k2=";
			cin>>w1;

			zamiana(x, w1, k1, w2, k2);

.. gdzie numer wiersza i kulumn są podawane jako parametry.

Program mi się kompiluje, ale poznej się wiesza.

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

Po co tworzyć nową tablicę? Nie lepiej zrobić coś takiego:

void zamiana(int &a[w][k],int w1,int k1,int w2,int k2)  
{
	  int liczba1,liczba2; //tyczasowe
	  //pobranie liczb z tablicy
	  a[w1][k1]=liczba1;
	  a[w2][k2]=liczba2;

	  //zamiania
	  a[w2][k2]=liczba1;
	  a[w1][k1]=liczba2;
}

&a[w][k] - dzięki temu nie jest tworzona kopia tablicy i tablicą która jest zmieniana jest ta pierwotna (dlatego w funkcji nie trzeba wydukować jej - można to zrobić poza nią).

blog o apple | highlab.pl - blog technologiczny

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności