正在加载图片...
当i≥j时,=*(i+1)/2+j 当i<j时,≡j*j+1)/2+i 2-10设A和B均为下三角矩阵,每一个都有n行。因此在下三角区域中各有n(n+1)/2个元素。另设 有一个二维数组C,它有n行n+1列。试设计一个方案,将两个矩阵A和B中的下三角区域元素存放 于同一个C中。要求将A的下三角区域中的元素存放于C的下三角区域中,B的下三角区域中的元素 转置后存放于C的上三角区域中。并给出计算A的矩阵元素a和B的矩阵元素b在C中的存放位置 下标的公式 【解答】 B b n-ln-l b, b b H-2 b b 22 a …an-1n1b, 计算公式 B=CL+1当≥时 C[训j+1l当i<j时 []=CTL3 当≥j lCU/l,当;<时 2-14字符串的替换操作爬 place( (String&s, String&t,srig&v)是指:若t是s的子串,则用串v替换 串t在串s中的所有出现:若t不是s的子串,则串s不变。例如,若串s为“ aabbabcbaabaaacbab”,串 t为bab”,串v为“abdc”,则执行 replace操作后,串s中的结果为“ aababdccbaabaaacabdc”。试利用字 符串的基本运算实现这个替换操作。 【解答】 String String Replace( String &L, String &v)i if(( int id= Find(1)==-1) ∥没有找到,当前字符串不改,返回 i cout <<The(replace) operation failed. < endl; return*this; 3 String temp( ch )i /用当前串建立一个空的临时字符串 ch[o= 10 curLen =0; ∥当前串作为结果串,初始为空 int,k=0, 1 ∥放结果串的指针 while( idI=-1)i for (j=0;j< id; j++)ch[k++]=temp. chl 摘取 temp. ch中匹配位置dd前面的元素到结果串ch curLen + id 1: curLen ∥修改结果串连接后的长度 if( curLen <=maxLen )1=tcurLen; 确定替换串γ传送字符数l当 i  j 时,= i*(i+1) / 2 + j 当 i < j 时,= j*(j+1) / 2 + i 2-10 设 A 和 B 均为下三角矩阵,每一个都有 n 行。因此在下三角区域中各有 n(n+1)/2 个元素。另设 有一个二维数组 C,它有 n 行 n+1 列。试设计一个方案,将两个矩阵 A 和 B 中的下三角区域元素存放 于同一个 C 中。要求将 A 的下三角区域中的元素存放于 C 的下三角区域中,B 的下三角区域中的元素 转置后存放于 C 的上三角区域中。并给出计算 A 的矩阵元素 aij 和 B 的矩阵元素 bij 在 C 中的存放位置 下标的公式。 【解答】 计算公式 2-14 字符串的替换操作 replace (String &s, String &t, String &v)是指:若 t 是 s 的子串,则用串 v 替换 串 t 在串 s 中的所有出现;若 t 不是 s 的子串,则串 s 不变。例如,若串 s 为“aabbabcbaabaaacbab”,串 t 为“bab”,串 v 为“abdc”,则执行 replace 操作后,串 s 中的结果为“aababdccbaabaaacabdc”。试利用字 符串的基本运算实现这个替换操作。 【解答】 String & String :: Replace ( String & t, String &v) { if ( ( int id = Find ( t ) ) == -1 ) //没有找到,当前字符串不改,返回 { cout << "The (replace) operation failed." << endl; return *this; } String temp( ch ); //用当前串建立一个空的临时字符串 ch[0] = '\0'; curLen = 0; //当前串作为结果串,初始为空 int j, k = 0, l; //存放结果串的指针 while ( id != -1 ) { for ( j = 0; j < id; j++) ch[k++] = temp.ch[j]; //摘取 temp.ch 中匹配位置 id 前面的元素到结果串 ch。 curLen += id + v.curLen; //修改结果串连接后的长度 if ( curLen <= maxLen ) l = v.curLen; //确定替换串 v 传送字符数 l               = −10 −11 −1 −1 10 11 00 an an an n a a a A                   = −10 −11 −1 −1 10 11 00 bn bn bn n b b b B                     = − − − − − − − − − − − − − 10 11 12 1 1 1 1 20 21 22 22 12 10 11 11 21 11 00 00 10 20 10 n n n n n n n n n n n n n a a a a b a a a b b a a b b b a b b b b C              = 当 时 当 时 [ ][ ], [ ][ ], [ ][ ] C j i i j C i j i j A i j    +  +  = 当 时 当 时 [ ][ 1], [ ][ 1], [ ][ ] C i j i j C j i i j B i j
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有