2012年10月12日星期五

此外无限使用动态分配的数字数




使用动态分配的,但不限于,下面的程序接收到一个输入的整数
加入该计划。预先分配了大图,2倍的大小的再
分配一个数组,复制,然后继续接收输入。

接收从键盘输入一个字符。
将能够很容易地修改文件接收输入。

#包括<iostream>
#<cstdio>的
#<cstdlib>
使用命名空间std;
inputStr(字符** STR,INT * N){
   INT I,X;
   的char *,* T;
   / /的calloc函数作为参数,数量,大小,并给出了
   / /使所有初始化为0。
   / /大小改变,得到所接收到的指针
   / /这里我们要改变* n的值是整数的主要变化。
   S =(char *)的释放calloc(N,1);
   / /指数壁空格字符
   i = 0;
   / /一个字符getchar()函数是用来接收。
   而(×= getchar函数()){
        / /读取字符,数字,除非输入端。
        如果(!的isdigit(X))休息;
        / / S读取的字符阵列中的绑定。
        则s [i] = X;
        / /索引有助于提高
        I = I +1;
        / /如果读取的字符数的分配的大小等于
        / /它的大小加倍给
        倘(i> = * N){
             / /给出大小加倍。
             T =(CHAR *)释放calloc(2 *(N),1);
             / /拷贝读取的字符,到目前为止,
             (i = 0; * N + +)T [] = S [I];
             / / N *的价值。Hardsect_size (整数值的主要变化)
             * N = 2 *(*);
             / /首先分配秒关。
             免费(S);
             /价值/ s的新分配的地址。Hardsect_size
             S = T;
        }
   }
   / / 0的字符串的末尾,以使其结合。
   则s [i] = 0;
   / /可以把地址的字符串值。的主要变化的指针的值。
   * STR = S;
   / /返回字符串的长度。
   返回;
}
廉政的main(){
   字符* STRA / /第一个字符串的指针
   字符* STRB / /第二个字符串的指针
   指针到一个数组中的整数整数s​​tRes; / /得到的结果
   SIZEA = 10,sizeB 10 / /你要开始在开始的10场。
   诠释nA的= 0,NB = 0,nc的= 0 / /字符串长度的壁变量
   INT I,J,K,X,Y,Z,携带方便; / /整型变量

   / /读取第一个数字。
   printf的(“请输入第一个数字:”);
   NA / /的长度上的分配的第一数量。
   NA = inputStr(STRA,与SIZEA的)的;
   / /读取第二个数字。
   printf的(“请输入第二个数字:”);
   NB / /第二个数字是分配的长度。
   NB = inputStr(STRB,sizeB)的;
   / /追风除了NC大量的使
   (NA = NB)NC = N +1;其他NC = NB +1;
   分配内存/ /为整数NC。
   stRes =(INT)释放calloc(NC,如sizeof(int));
   / /第一个数字1点的索引
   I = NA-1;
   / /指数的第二数目的数字是1
   = NB-1;
   / /索引的数组来保存结果
   k = 0时;
   / /四舍五入
   携带= 0;
   / /第一个数字,第二个数字,如果不是所有的添加
   而(ⅰ> = 0 && J> = 0){
      / /字符到一个整数,将其转换。
      X = STRA [一] - “0”;
      / /字符到一个整数,将其转换。
      Ÿ= STRB [J] - '0';
      群下的注释/ /,并增加了
      Z = X + Y +随身携带;
      / / 10位上升。
      进行= z/10;
      / /编号的数字的结果的权利进入
      Z = Z 10%;
      研究stRes [K] = Z;
      / /第一个数字,第二个数字是该指数的降低。 (来着)
      I = I-1;
      J = J-1;
      / /的索引增加的结果。
      K = K +1;
   }
   / /如果剩余的第一数量的
   而(ⅰ> = 0){
      / /将每个数字的结果
      / /在这一点上进行,因为该值可以改变。
      X = STRA [一] - “0”;
      Z = X +随身携带;
      进行= z/10;
      Z = Z 10%;
      研究stRes [K] = Z;
      I = I-1;
      K = K +1;
   }
   / /如果第二个数
   而(十> = 0){
      / /将每个数字的结果
      / /在这一点上进行,因为该值可以改变。
      Y =的STRB [J];
      Z = Y +随身携带;
      进行= z/10;
      Z = Z 10%;
      研究stRes [K] = Z;
      J = J-1;
      K = K +1;
   }
   / /数字加数四舍五入后可能
   (进位)
      stRes [K] =随身携带;
      K = K +1;
   }
   / /输出,得到的索引,其中包含了大量的最
   K = K-1;
   / /输出的数
   而(K> = 0){
        Z =的stRes [K];
        法院<< Z;
        K = K-1;
   }
   返回0;
}

没有评论:

发表评论