Hirdetés

Új hozzászólás Aktív témák

  • Dirty_Pio

    csendes tag

    Sziasztok, volna egy kis problemam egy programmal... eleg sok errort kidob, de en nem ertem mia baja. Az errorok a figgvenyekre vonatkoznak nagyreszben, azzal a szoveggel, hogy pl. az elso fuggvenybe x has a forward declaration. A feladat szovege:Write a program to add two large integer numbers of length up to 80 digits (no predefined type offers this range/precision !). One approach is to treat each number as an array of digits. The two integers (arrays) are added element by element, carrying from one element to the next when necessary. Each number is read digit by digit (a loop of getchar() until end of line is encountered) and stored in an array of digits.

    //program 5.6 (lab)
    #define MAX 81
    #include <stdio.h>
    #include <stdlib.h>
    int reading(int x[];int max)
    {
    int i,c;
    while (c=getchar()!=EOF)
    {
    x[i]=c-'0';
    i++;
    }
    i--;
    return i;
    }
    int add(int a; int b; int r)
    {
    int s;
    s=a+b+r;
    return s;
    }
    int reminder(int a; int b; int r)
    {
    int s;
    s=(a+b+r)/10;
    return s;
    }
    int main(void)
    {
    int i,j,k,r;
    int x[MAX],y[MAX],z[MAX];
    i=reading(x,MAX);
    j=reading(y,MAX);
    r=0;
    for (k=0; (k<=i) && (k<=j); k++)
    {
    z[k]=add(x[k],y[k],r);
    r=reminder (x[k],y[k],r);
    }
    if (i<j) for (k; k<=j; k++)
    {
    z[k]=add(0,y[k],r);
    r=reminder(0,y[k],r);
    };
    else
    for (k; k<=j; k++)
    {
    z[k]=add(0,x[k],r);
    r=reminder (0,x[k],r);
    };
    z[k++]=r;
    for (i=0;i<(k+1);i++)
    printf("%i \n",z[i]);
    system("pause");
    return(0);
    }
    na asszem megvan a baj... a figgvenybe ; hasznaltam , helyett grrr..

    [ Szerkesztve ]

Új hozzászólás Aktív témák