二维数组元素个数的算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组元素个数的算法相关的知识,希望对你有一定的参考价值。

定义可二维数组A(2 to 5,5),则该数组的元素个数为()
请问是这么算的?

参考技术A 2to5,就是从2,3,4,5这4位,就是4,然后括号后面的5,因为前面没有XXto5,所以默认下标为0,就是从0到5,有0,1,2,3,4,5六位,所以元素个数为4X6=24个。都可以这样算 参考技术B 例如a(m,n) 的个数是m*n个元素 ,不过我不知道2to5 是几 ,不好意思了 。

C语言中二维数组里统计不同元素出现的个数

比如二位数组 a,b,d
b,c,d
a,d,e
d,e,f
最后能统计出
a 2次
b 2次
c 1次
d 3次
e 1次
请给出代码,谢谢
我例子中的逗号不用 我只想知道怎么统计出现次数

#include <stdio.h>
#include <conio.h>
#include <malloc.h>

#define I 3
#define K 4

typedef struct mtab

char charr;
int times;
struct mtab * next;
tab;

int main()


char arr[I][K]='a','a','b','t','d','g','b','t','c','c','a','f';//3X4的字符数组
char* tp=(char*)arr;//用指针处理数组以方便遍历
tab * head=NULL,* p1=NULL,*p2=NULL;
int i;

for (i=(I)*(K);i;i--,tp++)

for(p2=p1=head;p1;p1=p1->next) //在链表查找当前指向的字符

p2=p1; //p2指向链表最后一个已经存在的表项
if(p1->charr==*tp) //找到了

p1->times++; //个数加1
break; //不再继续查找后面的表项



if(p1)
continue; //链表中已经查到结束本次循环

p1=(tab*)malloc(sizeof(tab)); //链表中还没有当前指向的字符
if(!p1) return 1; //分配内存时失败
p1->charr=*tp; //添加字符
p1->times=1; //初始化为1个因为是新加的
p1->next =NULL;
if(!head) //链表还没建立
head=p1;
else
p2->next=p1;


for(p1=head;p1;p1=p1->next) //打印结果
printf("%c %d次\n",p1->charr,p1->times);

getch(); //此语句以便能够看到结果,头文件 conio.h

return 0;
参考技术A #include <iostream>
using namespace std;
int main()
for(int i)
for(int j)
switch(s[][])
case a:
case b:
case c:
初学仅供参考
参考技术B 逗号也要输入的?

以上是关于二维数组元素个数的算法的主要内容,如果未能解决你的问题,请参考以下文章

二维数组的 每行的元素个数必须一样吗?

二维数组元素个数怎么算啊!!!VB语言的,求!

C语言中二维数组里统计不同元素出现的个数

PHP获取二维数组中相同的元素

《程序设计基础》实验题目1 二维数组 冒泡排序

FLASH AS3 二维数组如何查找某个元素的索引?