如何检查和替换数组 C++ 中的元素
how to check and replace an element in an array c++
我正在接收一串输入并将其放入一个称为补码的数组中,以便我可以将每个元素与"A"、"G"、"C"和"T"进行比较,并进行替换以生成DNA链的补体。我正在尝试使用它,但它不起作用:
for(int i=0; i<x; i++){
if(complement[i] == "T")
complement[i] = "A";
我无法使用替换函数,因为它会遍历整个数组并完全进行替换,但我需要逐个字符进行,以便 AAGCT 不会将 A 更改为 T,然后将 T 更改回 A。我用C++这样做,但任何其他可以缓解这种情况的语言都可以。谢谢。
原因是您正在比较字符和字符串。'A' != "A" 一个是字符,另一个是指针。所以你要做的是
if (complement[i] == 'T')
我猜complement
被声明为类似
char complement[]
也就是说,char
的数组。如果确实如此,那么
if(complement[i] == "T")...
不做你想的那样。
更重要的是,
complement[i] = "A";
在这里,您将 C 字符串文本分配给 char
,这可能不会很好地结束。
我建议复习一下你的C,更具体地说,数组,char
s,C字符串和指针。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 我想访问std::unique_ptr中的一个特定元素
- 如何通过 getter 函数删除矢量的元素?
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 从控制台中删除最后打印的元素
- 擦除while循环中迭代的元素