Tablice double i pętle for - prośba o przeanalizowanie i poprawienie kodu

0

Czy ktokolwiek mógłby przeanalizować ten kod i dać mi jakiekolwiek clue, czemu przy 3-cim forze wywala mi śmieci?

#include <stdio.h>
int fn(int);
int main(void)
{
int M[4][5];
int j,k;

for (j=0;j<4;j++,printf("\n")){printf("Podaj %i wiersz\n",j+1);for(k=0;k<5;k++)scanf("%i",&M[j][k]);}
printf ("\n\n");
for (j=0;j<4;j++,printf("\n")){for(k=0;k<5;k++)printf("%i",M[j][k]);}
for (j=0;j<4;j++,printf("\n")){for(k=0;k<5;k++)printf("%i",fn(M[j][k]));}
 return 0;
}
int fn(int X)
{
    int y;
    if(X>=0)y=X*X;
    if(X<0)y=(-1)*X*X;
    return y;
}

poprawienie tytułu wątku i tagów oraz dodanie znacznika <code class="c"> - fp

0

to nie śmieci tylko liczby które się zlały razem bo brak spacji rozdzielającej.

0

Wybaczcie pomyłkę,tamto było tylko próbą przerobienia, to jest właściwy kod:

#include <stdio.h>
double fn(double);
int main(void)
{
double M[4][5];
int j,k;
for (j=0;j<4;j++,printf("\n")){printf("Podaj %i wiersz\n",j+1);for(k=0;k<5;k++)scanf("%d",&M[j][k]);}
printf ("\n\n");
for (j=0;j<4;j++,printf("\n")){for(k=0;k<5;k++)printf("%d",M[j][k]);}
for (j=0;j<4;j++,printf("\n")){for(k=0;k<5;k++)printf("%d",fn(M[j][k]));}
 return 0;
}
double fn(double X)
{
    double y;
    if(X>=0)y=X*X;
    if(X<0)y=(-1)*X*X;
    return y;
}

dodanie znacznika <code class="c"> - fp

0
"%lf"

zamiast "%d"

0

Działa. Podziękował łaskawym panom :D

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