Hej,
Probuję napisać program, gdzie nadaje rozmiar dwóm tablicom i przypisuje do nich randomowe wartości. Następnie za pomocą jednej funkcji chciałbym przepisać wartości z tablicy1 do tablic2, a za pomocą drugiej funkcji zapisać wyniki z tablicy2 do tablicy1. Od razu zaznaczę, że nie chodzi mi o typowy swap. Chodzi mi o to, aby wiedzieć jak operować wieloma funkcjami na pierwotnych wartościach tablic. Próbowalem użyc wskaznikow, ale jeszcze do konca nie umiem z ich korzystac. Uczę się programowania dopiero od 3 tygodni.
#include <iostream>
using namespace std;
void swapArrays(int size, int const* array1, int* array2) {
for (int i = 0; i < size; i++) {
array2[i] = array1[i];
}
}
void swapArrays2(int size, int *array1, int const* array2) {
for (int i = 0; i < size; i++) {
array1[i] = array2[i];
}
}
int main()
{
srand(time(NULL));
int size;
cout << "Podaj rozmar tablic: ";
cin >> size;
int* myFirstArray = new int[size];
int* mySecondArray = new int[size];
int* ptrFirst = myFirstArray;
int* ptrFirst2 = myFirstArray;
int* ptrSecond = mySecondArray;
int* ptrSecond2 = mySecondArray;
for (int i = 0; i < size; i++) {
myFirstArray[i] = (rand()%100);
cout << myFirstArray[i] << " ";
}
cout << endl;
for (int i = 0; i < size; i++) {
mySecondArray[i] = (rand() % 100)*((rand()%3+1));
cout << mySecondArray[i] << " ";
}
cout << endl;
swapArrays(size, ptrFirst, ptrSecond);
for (int i = 0; i < size; i++) {
cout << *(ptrFirst+i) << " ";
}
cout << endl;
for (int i = 0; i < size; i++) {
cout << *(ptrSecond+i) << " ";
}
cout << endl;
swapArrays2(size, ptrFirst2, ptrSecond2);
for (int i = 0; i < size; i++) {
cout << *(ptrFirst2+i) << " ";
}
cout << endl;
for (int i = 0; i < size; i++) {
cout << *(ptrSecond2+i) << " ";
}
return 0;
}