Przepisywanie zawartości tablic

0

Napisz funkcję, która otrzymuje 4 parametry: liczbę naturalną size oraz tablice liczb zmiennoprzecinkowych double: tab1, tab2 i tab3 o rozmiarze size. Funkcja ma przepisać zawartość tablicy tab1 do tablicy tab2, zawartość tab2 do tab3, natomiast tab3 do tab1. Dlaczego funkcja zle przepisuje mi wartosci ?

#include <stdio.h>
void f(double t1[], double t2[], double t3[], double size)
{
    int i, y;
    for (i = 0; i < size; i++) {
        y = t1[i];
        t1[i] = t2[i];
        t2[i] = t3[i];
        t3[i] = y;
        printf("%lf\n%lf\n%lf\n", t1[i], t2[i], t3[i]);
    }
}
int main()
{
    double t1[] = { 1, 2, 3 };
    double t2[] = { 2, 3, 4 };
    double t3[] = { 5, 6, 7 };
    f(t1, t2, t3, 3);
    return 0;
}
 
0
t1[i] = t2[i];
t2[i] = t3[i];
t3[i] = y;

to nie robi tego co uważasz, że robi.
Napisz sobię funkcję swap lub użyj gotowej.

0

a nie da się tego zrobic bez tej funkcji ?

0

Da się, ale twój kod będzie musiał wykonywać to co ta funkcja. Twój teraźniejszy kod tego nie robi.

0

W tej chwili robisz odwrotnie, czyli t1 do t3, t2 do t1, t3 do t2.
Poza tym double y, nie int y.

1 użytkowników online, w tym zalogowanych: 0, gości: 1