Dlaczego pierwsza pętle wykonuje mi tylko raz?

0

Banalne ale tego nie widze...

int main()
{
    int n;
    printf ("Podaj dodatnia liczbe (rozmiar): ");
    scanf ("%d" , &n);
    int *t1;
    float *t2, *t3;

    t1 = (int*)malloc( n * sizeof (*t1));
    t2 = (float*)malloc( n * sizeof (*t2));
    t3 = (float*)malloc( n * sizeof (*t3));

    printf ("Podaj liczby do tablic...  \n");

    int i=0;
    for (i=0 ; i < n ; i++);
    {
        printf ("Do t1:");
        scanf ("%d" , &t1[i]);
    }
    int j=0;
    for (j ; j < n ; j++)
    {
        printf ("Do t2:");
        scanf ("%f" , &t2[j]);
    }
    int k=0;
    for(k ; k < n ; k++)
    {
        *(t3+k) = *(t1+k) + *(t2+k);
    }
    int l=0;
    for (l;l<n;l++)
    {
        printf("%f ", t3[l]);
    }

    free(t1);
    free(t2);
    free(t3);

    return 0;
}

Napisać program, który pobiera od użytkownika pewną dowolną liczbę całkowitą dodatnią n, a następnie dynamicznie alokuje pamięć
(należy użyć funkcji malloc/calloc) dla trzech tablic t1, t2, t3 rozmiaru n (tablica t1 zawiera elementy typu całkowitego, t2, t3 zmiennoprzecinkowe).
Następnie program wczytuje liczby podane przez użytkownika na wejściu do tablic t1 oraz t2. Trzecia tablica jest sumą tablic t1 i t2 na poszczególnych indeksach.
Należy pamiętać o zwolnieniu pamięci. Uwaga: Obliczając elementy tablicy t3, należy użyć inkrementację wskaźników (Podpowiedz: tab=tab[0], (tab+i)=tab[i] ).
Przykłady alokacji pamięci: t1 = (int
) malloc(n
sizeof(int)); t1 = (int*) calloc(n, sizeof(int));

z góry wielkie dzieki za pomoc...

1

średnik: "for (i=0 ; i < n ; i++);" <- nie powinno go tu być

    t1 = (int*)malloc( n * sizeof (int));
    t2 = (float*)malloc( n * sizeof (float));
    t3 = (float*)malloc( n * sizeof (float)); 
0

Ahh no tak bo wtedy petla wykona sie tylko raz, wielkie dzieki...

1

Ahh no tak bo wtedy petla wykona sie tylko raz, wielkie dzieki...

Pętla wykona się tyle razy jak ma w warunku, tylko jej instrukcja jest pusta.

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