Piszę program na dodawanie wielomianów. Współczynniki przy wielomianach to poszczególne wartości w tablicy, a stopień wielomianu to rozmiar tablicy + 1. Napisałem kod na to, wielomiany się ładnie wyświetlają, ale w dodawaniu bzdury wychodzą. Może mi ktoś powiedzieć czemu tak się dzieje?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define m 10
#define n 15
#include <time.h>
int losuj()
{
int x;
x=rand()%n ;
return x;
}
int sumuj(int tab[], int tab1[])
{
int i;
return tab[i] + tab1[i] ;
}
void sortowanie(int tab[])
{
int j;
int i ;
int min,bufor;
for ( i=0; i<m-1; i++)
{
min=i;
for ( j=i+1; j<m; j++)
{
tab[i]=losuj()+1 ;
if (tab[j]<tab[min])
min=j;
}
bufor=tab[min];
tab[min]=tab[i];
tab[i]=bufor;
}
}
int main()
{
srand(time(NULL)) ;
int tab[m] ;
int tab1[m] ;
int i ;
puts("pierwszy wielomian") ;
sortowanie(tab);
for(i=0; i<m; i++)
{
tab1[i]=losuj() + 1 ;
printf ("%dX^%d ", tab[i], i+1) ;
printf("\n");
}
srand(time(NULL)) ;
puts("drugi wielomian");
sortowanie(tab);
for(i=0; i<m; i++)
{
printf ("%dX^%d ", tab[i], i+1) ;
printf("\n");
}
puts("wielomian 1 + wielomian 2") ;
for(i=0; i<m; i++)
{
printf ("%dX^%d ", tab[i]+tab1[i], i+1) ;
printf("\n");
}
return 0 ;
}