鱼C论坛

 找回密码
 立即注册
查看: 3154|回复: 1

求大神帮忙!(最长公共子序列)

[复制链接]
发表于 2018-10-10 14:37:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. void LCSLength(int m, int n, char *x, char *y, int **c)
  4. {
  5.         int i, j;
  6.         //初始化二维数组
  7.         for (i = 1; i <= m; i++)
  8.         {
  9.                 c[i][0] = 0;
  10.                 printf("%d ", c[i][0]);
  11.         }
  12.         for (i = 1; i <= n; i++)
  13.                 c[0][i] = 0;
  14.         //逐行填充二维数组
  15.         for (i = 1; i <= m; i++)
  16.                 for (j = 1; j <= n; j++)
  17.                 {
  18.                         if (x[i] == y[j])
  19.                                 c[i][j] = c[i - 1][j - 1] + 1;
  20.                         else if
  21.                                 (c[i - 1][j] >= c[i][j - 1]) c[i][j] = c[i - 1][j];
  22.                         else
  23.                                 c[i][j] = c[i][j - 1];
  24.                 }
  25.         for (i = 0; i <= m; i++)
  26.         {
  27.                 for (j = 0; j <= n; j++)
  28.                 {
  29.                         printf("%d ", c[i][j]);
  30.                 }
  31.                 printf("\n");
  32.         }

  33. }

  34. int main()
  35. {
  36.         char a[] = { 1, 3, 4, 5, 6,7, 7, 8,'\0' };
  37.         char b[] = { 3, 5, 7, 4, 8,6,7,8,2,'\0' };
  38.         char *x = &a[0];
  39.         char *y = &b[0];
  40.         int m = sizeof(a) - 1; //X元素序列的个数
  41.         int n = sizeof(b) - 1;//Y元素序列的个数
  42.         //为二维数组申请动态空间,m为行数,n为列数
  43.         int **c = (int **)malloc(sizeof(int *) * m); //分配行数
  44.         for (int i = 0; i < m; i++) //为每一行分配内存
  45.         {
  46.                 c[i] = (int*)malloc(sizeof(int)*n);
  47.         }
  48.         printf("-------\n");
  49.         LCSLength(m, n, x, y, c);
  50.         printf("-------\n");
  51.         printf("%d\n", c[m][n]);

  52. }
复制代码


报错如图
微信图片_20181010143618.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-10-10 20:41:02 | 显示全部楼层
void LCSLength()函数数组初始化的时候越界了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-10 15:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表