c - 第 N 个元素的数组,尝试从左到右和从右到左添加元素

标签 c arrays

我有一个数组,其中元素的数量由用户选择。用户选择元素数量后,介绍每个元素的值。之后,程序应该计算 2 个或 3 个元素的总和,以便找到可以在数组中找到的对应值。例如,我有以下值: 3,6,4,9 ---> 3+6=9 并且 4 是 != 这个和的数字。对于此类示例,我找到了一种计算总和的方法。 如果我改变前:9,4,6,3 ---> 3+6=9。这样我不知道如何从右到左求和元素,因为 3 是数组的第 N 个元素。

代码是用C语言编写的

如果有人有任何想法或建议,那就太好了。谢谢 !

最佳答案

如果我正确理解你的问题,并假设你用 C 语言编写,一个简单的方法(但 O(n^3) 的成本非常高)是计算每个元素的总和与每个其他元素,然后与每个元素进行比较...令人困惑?

上述方法的代码类似于以下内容:

for (int i=0; i<ArrayLength; i++){
     for (int j=0; j<ArrayLength; j++){
         int tempVar = Array[i] + Array[j]; // Calculate every element with every other element
         for (int k=0; k<ArrayLength; k++){ // Check if that calculation meets equality with another Array Element.
                 if (k==i || k==j) continue;
                 if (tempVar == Array[k]) 
                     printf("You have a match for the sum of %d and %d elements with the element in position %d\n",Array[i],Array[j],Array[k]);
         }
     }
}

请注意,由于成本原因,上面的代码与实现有用的代码完全不同,我只是出于算法思想的目的提供它。

如果您需要比某些算法想法更多的帮助,请提供您的一些代码。

关于c - 第 N 个元素的数组,尝试从左到右和从右到左添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43978143/

相关文章:

c - 为什么这个动态字符数组在 C 中没有得到正确的输入?

将 void 指针转换为整数数组

c - 如何更改通过端口传输的字节数

python - numpy,获取最大的子集

javascript - 统计字符串中每个单词的出现次数并将其放入一个对象中

c - 使用 strlen 查找用户输入 c 的长度

c - 在不创建对象的情况下从指针找到结构的正确大小?

arrays - 并行处理数组 : any risk of to much threads?

c++ - 固定大小的多维数组参数

python - 如何在元素列表中找到最大的数字,可能是非唯一的?