Mam do napisania program w C++. Używam DevC++, a oto treść zadania:
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[i] powinna zawierać największą
spośród pierwotnych wartości komórek tab1[i], tab2[i]
oraz tab3[i],
— dla dowolnego i komórka tab2[i] powinna zawierać drugą
co do wielkości spośród pierwotnych wartości komórek tab1[i],
tab2[i] oraz tab3[i],
— dla dowolnego i komórka tab3[i] powinna zawierać najmniejszą spośród pierwotnych wartości komórek tab1[i], tab2[i]
oraz tab3[i].
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
#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;
}
Na przykład dla danych wejściowych:
5
1 100 -1 3 8
45 16 27 8 0
9 1 2 3 4
Otrzymamy:
45 100 27 8 8
9 16 2 3 4
1 1 -1 3 0