找到 1356 篇文章 关于 C

使用 C/C++ 进行数组操作和求和

Arnab Chakraborty
更新于 2019年8月20日 07:45:13

2K+ 阅读量

在这里,我们将看到一个问题,假设给定一个数组。它有 n 个元素。还给定另一个值 S。我们必须在数组中找到一个元素 K,使得如果所有大于 K 的元素都设置为 K,则最终数组的所有元素的总和等于 S。如果不可能,则返回 -1。假设元素为 {12, 6, 3, 7, 8},总和值为 15,则输出为 3。最终数组为 {3, 3, 3, 3, 3},数组元素的总和为 S ... 阅读更多

使用 C/C++ 中的 pthreads 进行矩阵加法和减法

Arnab Chakraborty
更新于 2019年8月20日 07:19:09

765 阅读量

在这里,我们将了解如何在多线程环境中执行矩阵加法和减法。pthread 用于在 C 或 C++ 中同时执行多个线程。有两个矩阵 A 和 B。每个矩阵的顺序为 (m x n)。每个线程将获取每一行,并执行加法或减法。因此,对于 m 行,有 m 个不同的线程。示例#include #include #include #include #define CORE 3 #define MAX 3 using namespace std; int AMat[MAX][MAX] = {{10, 20, 30},    {40, 50, 60},    {70, 80, 50} }; int BMat[MAX][MAX] = {{80, 60, 20},    {30, ... 阅读更多

C/C++ 程序,查找以 n 的 2 次方 - (n-1) 的 2 次方为第 n 项的级数之和

Arnab Chakraborty
更新于 2019年8月20日 07:15:14

125 阅读量

在这里,我们将了解如何获取以 n2 – (n-1)2 为第 n 项的级数之和。递归关系如下所示 −Tn = n2 − (n−1)2因此,级数为 −我们需要找到 S mod (109 + 7),其中 S 是给定级数的所有项的总和。示例#include #define X 1000000007 using namespace std; long long getSum(long long n) {    return ((n % X) * (n % X)) % X; } int main() {    long long n = 56789;    cout

将所有更大的值添加到给定 BST 中的每个节点

Arnab Chakraborty
更新于 2019年8月20日 07:04:27

110 阅读量

在这里,我们将看到一个有趣的问题,我们将把更大的值添加到给定二叉搜索树中的每个节点。因此,初始树和最终树将如下所示−算法bstUpdate(root, sum) −开始    如果 root 为空,则停止    bstUpdate(room 的右侧, sum)    sum := sum + root 的值    使用 sum 更新 root 值    bstUpdate(room 的左侧, sum) 结束示例#include using namespace std; class Node {    public:       int data;       Node *left, *right;    };    Node *getNode(int item) {       Node *newNode = ... 阅读更多

多态的类型 - 特设、包含、参数化和强制

Arnab Chakraborty
更新于 2019年8月20日 07:01:05

3K+ 阅读量

在这里,我们将看到不同类型的多态性。类型为−特设包含参数化强制特设多态性称为重载。这允许同名函数对不同类型以不同方式执行操作。函数和运算符都可以重载。某些语言不支持运算符重载,但函数重载很常见。示例#include using namespace std; int add(int a, int b) {    return a + b; } string add(string a, string b) {    return a + b; //连接 } int main() {    cout

使用 C 程序解决一个谜题

Arnab Chakraborty
更新于 2019年8月20日 06:57:35

536 阅读量

在这里,我们将看到一个 C 谜题问题。假设我们有两个数字 48 和 96。我们必须在第二个数字之后添加第一个数字。因此,最终结果将类似于 9648。但是我们不能使用任何逻辑、算术、字符串相关的操作,也不能使用任何预定义的函数。那么我们该如何做到这一点呢?这很简单。我们可以通过在 C 中使用标记粘贴运算符 (##) 来实现。标记粘贴运算符是一个预处理器运算符。它向编译器发送命令,将两个标记连接成一个字符串。我们在宏定义中使用此运算符。示例#include #define MERGE(x, ... 阅读更多

三路快速排序(荷兰国旗)

Arnab Chakraborty
更新于 2019年8月20日 06:56:42

2K+ 阅读量

在这里,我们将看到快速排序技术,但我们将使用三路快速排序。基本的快速排序技术只是找到一个元素作为枢轴,然后围绕枢轴对数组进行分区,之后,对枢轴左侧和右侧的子数组进行递归。三路快速排序类似,但有三个部分。数组 arr[1 到 n] 分为三个部分。arr[1 到 i]arr[i + 1, j]arr[j + 1, n]算法partition(arr, left, right, i, j) −开始    如果 right – left

C 程序中 LCS 的空间优化解决方案?

Arnab Chakraborty
更新于 2019年8月19日 14:28:42

155 阅读量

在这里,我们将看到 LCS 问题的一种空间优化方法。LCS 是最长公共子序列。如果两个字符串为“BHHUBC”和“HYUYBZC”,则子序列的长度为 4。已经存在一种动态规划方法,但使用动态规划方法,它将占用更多空间。我们需要一个 m x n 阶表,其中 m 是第一个字符串中字符的数量,n 是第二个字符串中字符的数量。在这里,我们将了解如何使用 O(n) 数量的辅助空间来实现此算法。如果我们观察旧方法 ... 阅读更多

C 程序中的佩特森图问题?

Arnab Chakraborty
更新于 2019年8月19日 14:22:04

241 阅读量

假设我们有一个如下所示的图形。该图是佩特森图。顶点从 0 到 9 编号。每个顶点都有一些字母。让我们考虑一个图中的路径 W,其中使用了 L 个顶点。当 W 和 S 中的字母序列相同时,一个包含 L 个字母的字符串 S 由路径 W 实现。我们可以多次访问顶点。例如,一个字符串 S 类似于“ABBECCD”,它由路径 (0, 1, 6, 9, 7, 2, 3) 实现。我们的任务是找到这样的路径,如果存在该路径,... 阅读更多

C/C++ 指针谜题?

Arnab Chakraborty
更新于 2019年8月19日 14:15:22

275 阅读量

假设我们有一个大小为 4 字节的整型变量,还有一个大小为 8 字节的指针变量。那么以下内容的输出是什么?示例#include using namespace std; main() {    int a[4][5][6];    int x = 0;    int* a1 = &x;    int** a2 = &a1;    int*** a3 = &a2;    cout

广告