Mam do zrobienie takie zadanie i nie wiem jak zacząć, a facet nie tłumaczy dobrze.
Napisz funkcję, która otrzymuje cztery argumenty: dodatnią liczbę całkowitą n oraz trzy n-elementowe tablice tab1, tab2 i tab3 o elementach typu int i zamienia zawartości komórek otrzymanych w argumentach tablic w następujący sposób: — dla dowolnego i komórka tab1 powinna zawierać największą spośród pierwotnych wartości komórek tab1, tab2 oraz tab3. Napisz program testujący działanie funkcji.
[C++] Funkcja i operacje na tablicach
[C++] Funkcja i operacje na tablicach
Ostatnio zmieniony 11 cze 2013, o 17:04 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
[C++] Funkcja i operacje na tablicach
"Napisz funkcję, która otrzymuje cztery argumenty: dodatnią liczbę całkowitą n oraz trzy n-elementowe tablice tab1, tab2 i tab3"
"amienia zawartości komórek otrzymanych w argumentach tablic w następujący sposób: — dla dowolnego i komórka tab1 powinna zawierać największą spośród pierwotnych wartości komórek tab1, tab2 oraz tab3"
Skoro to jest C++, nie C, możemy użyć funkcji szablonowej max z STLa. Nie zapomnij o zaincludowaniu <algorithm>. Wykorzystaj własność:
max(a,b,c) = max(a, max(b,c))
W main() odpalaj funkcje testujące, w których tworzysz na stosie (na stercie też może być w sumie) 3 tablice, odpalasz funkcję na nich i za pomocą asercji sprawdzasz czy w tablicy1 są odpowiednie wartości.
Kod: Zaznacz cały
void zamien(unsigned n, int *tab1, int *tab2, int *tab3)
Skoro to jest C++, nie C, możemy użyć funkcji szablonowej max z STLa. Nie zapomnij o zaincludowaniu <algorithm>. Wykorzystaj własność:
max(a,b,c) = max(a, max(b,c))
Kod: Zaznacz cały
{
for(int i=0; i<n; ++i)
{
tab1[i] = std::max(tab1[i], std::max(tab2[i], tab3[i]));
}
}
[C++] Funkcja i operacje na tablicach
Kod: Zaznacz cały
#include <iostream>
#include <algorithm>
using namespace std;
void sortuj(int n, int* tab1, int* tab2, int* tab3)
{
for (int i=0; i<n; ++i)
{
int T[]={tab1[i],tab2[i],tab3[i]};
sort(T,T+3);
tab3[i]=T[0];
tab2[i]=T[1];
tab1[i]=T[2];
}
}
int main()
{
ios::sync_with_stdio(0);
int n;
cin>>n;
int *tab1=new int[n],*tab2=new int[n],*tab3=new int[n];
for (int i=0; i<n; ++i) cin>>tab1[i];
for (int i=0; i<n; ++i) cin>>tab2[i];
for (int i=0; i<n; ++i) cin>>tab3[i];
sortuj(n,tab1,tab2,tab3);
for (int i=0; i<n; ++i) cout<<tab1[i]<<;
cout<<endl;
for (int i=0; i<n; ++i) cout<<tab2[i]<<;
cout<<endl;
for (int i=0; i<n; ++i) cout<<tab3[i]<<;
int xyz;
cin>>xyz;
return 0;
}