Powrót do listy plików
mnozeniewslupku.c
#include<stdio.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
#define MAX 1024
#define ILE 1024
typedef float typ;
int main(){
int *a;
int *b;
int *c;
int temp;
int przesuniecie;
int i,j,k,l,wartownik;
//int wynik;
a= (int *) calloc (MAX,sizeof(int));
b= (int *) calloc (MAX,sizeof(int));
c= (int *) calloc (MAX,sizeof(int));
for(k=0;k<MAX;k++){
a[k]=0;
b[k]=0;
c[k]=0;
}//k
a[MAX-1]=2;
// a[MAX-2]=2;
b[MAX-1]=2;
// b[MAX-2]=2;
for(j=0;j<ILE-1;j++){
for(l=MAX-1;l>-1;l--){
przesuniecie=MAX-1-l;
// printf("%i\n",przesuniecie);
for(i=MAX-1;i>-1;i--){
// temp=c[i-przesuniecie]+a[l]*b[i];
temp=c[i-przesuniecie]+a[l]*b[i];
c[i-1-przesuniecie]+=floor(temp/10);
c[i-przesuniecie]=temp-floor(temp/10)*10;
// printf("c[%i]=%i\n",i-przesuniecie,c[i-przesuniecie]);
// printf("c[%i]=%i\n",i-1-przesuniecie,c[i-1-przesuniecie]);
// printf("a[%i]=%i\n",l,a[l]);
// printf("b[%i]=%i\n",i,b[i]);
// printf("c[%i]=%i\n",i-przesuniecie,c[i-przesuniecie]);
//wywalimy se wynik
// for(k=0;k<MAX;k++)
// printf("%i",c[k]);
// printf("\n");
}//i
}//l
// for(i=0;i<MAX;i++){
// printf("%i",b[i]);
// }
// printf("\n");
//printf("%i\t",c[i]);
for(k=0;k<MAX;k++){
// a[k]=b[k];
b[k]=c[k];
c[k]=0;
}//k
} //j
wartownik=1;
printf("wynik: ");
for(i=0;i<MAX;i++){
if(wartownik==1){
if(b[i]!=0)
wartownik=0;
}//if 1
if (wartownik==0)
printf("%i",b[i]);
}//for i
printf("\n");
}
syntax highlighted by
Code2HTML, v. 0.9.1
kod przerobiony z HTML na XHTML za pomocą HTML Tidy for Linux/x86
Materiały z Metod Numerycznych udostępnione zostały na zasadach licencji GPL w wersji 2.