问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

R语言中没有维度的数据怎么转换成有维度?

发布网友 发布时间:2022-04-22 00:16

我来回答

3个回答

热心网友 时间:2023-06-24 08:53

这好象是汇编语言的问题吧
举个例子吧

#include "iostream.h"
#include <cstring>
int main()
,b[10]; //为什么这里要定义为二维数组,用一维数组怎么不可以?
int i;
strcpy (b,a[0]);
for (i = 1;i < 5;i++)
if (strcmp (b,a[i])>0)
strcpy (b,a[i]);
cout<<b<<endl;
return 0;
}

int a[][10]这类数字上的数组我想应该比较好理解吧,难理解的是char a[][10]这类字符上的数组,我就拿你上面的程序来说。
首先,在你的二维数组里面的是字符串,先举一个简单的例子:
char a[10]=
形象地表达就是
china\0\0\0\0\0
为什么呢?因为在内存中存放时,系统会自动在最后一个字符a后面加结束字符\0,那么在输出时,遇到结束字符\0就会结束。
所以如果在你上述的程序中,把二维数组改成一维数组的话,从理论上说,他只能输出第一个字符book。(当然,在上述程序中,这样改会出错,至于为什么,我能力有限,不会解释)
所以,以上的a[][10]在内存中形象的表达出他的存放情况就是:
book\0\0\0\0\0\0
basic\0\0\0\0\0
(下略)
你在定义a[][10]时,没有限定行数,系统会自动把你输入的字符串个数作为行数,而列数是10,所以会在book后补上6个\0,在basic后补上5个\0 。
执行程序时,系统先检查第一行,遇到\0停止对这一行的检查,跳到第二行,遇到\0再次结束对第二行的检查,跳到下一行...
这样,系统就可以把每一个字符串都作检查,从而输出符合程序的字符串!
其实,简单地说,就是用一个语句,把几个一维数组串起来一起定义和初始化罢了

热心网友 时间:2023-06-24 08:53

这好象是汇编语言的问题吧
举个例子吧
#include
"iostream.h"
#include
<cstring>
int
main()
,b[10];
//为什么这里要定义为二维数组,用一维数组怎么不可以?
int
i;
strcpy
(b,a[0]);
for
(i
=
1;i
<
5;i++)
if
(strcmp
(b,a[i])>0)
strcpy
(b,a[i]);
cout<<b<<endl;
return
0;
}
int
a[][10]这类数字上的数组我想应该比较好理解吧,难理解的是char
a[][10]这类字符上的数组,我就拿你上面的程序来说。
首先,在你的二维数组里面的是字符串,先举一个简单的例子:
char
a[10]=
形象地表达就是
china
为什么呢?因为在内存中存放时,系统会自动在最后一个字符a后面加结束字符,那么在输出时,遇到结束字符就会结束。
所以如果在你上述的程序中,把二维数组改成一维数组的话,从理论上说,他只能输出第一个字符book。(当然,在上述程序中,这样改会出错,至于为什么,我能力有限,不会解释)
所以,以上的a[][10]在内存中形象的表达出他的存放情况就是:
book
basic
(下略)
你在定义a[][10]时,没有限定行数,系统会自动把你输入的字符串个数作为行数,而列数是10,所以会在book后补上6个,在basic后补上5个

执行程序时,系统先检查第一行,遇到停止对这一行的检查,跳到第二行,遇到再次结束对第二行的检查,跳到下一行...
这样,系统就可以把每一个字符串都作检查,从而输出符合程序的字符串!
其实,简单地说,就是用一个语句,把几个一维数组串起来一起定义和初始化罢了

热心网友 时间:2023-06-24 08:54

这好象是汇编语言的问题吧
举个例子吧
#include
"iostream.h"
#include
<cstring>
int
main()
,b[10];
//为什么这里要定义为二维数组,用一维数组怎么不可以?
int
i;
strcpy
(b,a[0]);
for
(i
=
1;i
<
5;i++)
if
(strcmp
(b,a[i])>0)
strcpy
(b,a[i]);
cout<<b<<endl;
return
0;
}
int
a[][10]这类数字上的数组我想应该比较好理解吧,难理解的是char
a[][10]这类字符上的数组,我就拿你上面的程序来说。
首先,在你的二维数组里面的是字符串,先举一个简单的例子:
char
a[10]=
形象地表达就是
china\0\0\0\0\0
为什么呢?因为在内存中存放时,系统会自动在最后一个字符a后面加结束字符\0,那么在输出时,遇到结束字符\0就会结束。
所以如果在你上述的程序中,把二维数组改成一维数组的话,从理论上说,他只能输出第一个字符book。(当然,在上述程序中,这样改会出错,至于为什么,我能力有限,不会解释)
所以,以上的a[][10]在内存中形象的表达出他的存放情况就是:
book\0\0\0\0\0\0
basic\0\0\0\0\0
(下略)
你在定义a[][10]时,没有限定行数,系统会自动把你输入的字符串个数作为行数,而列数是10,所以会在book后补上6个\0,在basic后补上5个\0

执行程序时,系统先检查第一行,遇到\0停止对这一行的检查,跳到第二行,遇到\0再次结束对第二行的检查,跳到下一行...
这样,系统就可以把每一个字符串都作检查,从而输出符合程序的字符串!
其实,简单地说,就是用一个语句,把几个一维数组串起来一起定义和初始化罢了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我在36o平台借了八千,12月分期,利息一千六百多,正归吗? 我要借款,借九千分一年还,哪里可以借,很急 有哪些质感不错的卫衣可以入手? 哪些品牌的印花卫衣设计感不错? 哪些潮牌服装比较受欢迎? 哪些潮牌卫衣比较受年轻人欢迎? 有哪些高质量的卫衣值得推荐? 中级编辑证对专业有限制吗 出版编辑可以直接报考中级吗 我的dell笔记本型号为1318 pp25l,重装了xp系统后没声音了,怎么办... 天天洗为什么清洁度三度? 以裕字如何给公司起名? 请问83年出生属猪的狮子座的女孩子带什么幸运物好呢? aspen plus一次可以算多少根管道 电子档用手机怎么做? Mac excel 2011怎么添加 data analysis Toolpak 啊... 之前上过一个网站,类似绿间真太郎的晨间占卜 如何用手机做电子版 1998年11月21日天蝎座女幸运物 这个是WPS的Excel,为什么在这个版本里我找不到dat... 羊年女孩取名以裕字取名 用手机怎么样做电子稿? Excel中的data analysis不显示怎么办? 哪个网站可以看到当天的星座幸运物 工作中有哪些职场礼仪? 裕字和火字旁的名字 excel怎么添加 data analysis Toolpak 啊?急急急!!... 水瓶座女孩的幸运物是什么? 职场礼仪,这些你都知道了吗 如何用手机写电子稿? 如何入门大数据 天天洗头有什么好处和坏处 易经中的裕字出处那一句 人为什么要天天洗澡 矢量数据叠置与栅格数据叠置有何不同 天天洗头发好吗? 12星座考试时的幸运物 aspen plus中analysis怎么添加binary 天天洗头会怎么样 Data Structures and Algorithm Analysis in C++书... 天天洗头对身体有益还是有害 用oracle的rman对数据库全备份时,加上plus archiv... 天天洗头 好吗? 头发能天天洗吗? 洗澡天天洗可以吗 天天洗头对头发有害吗 微信定位怎样打开 人为什么要天天洗澡? 怎样打开微信定位功能 头发可以天天洗吗? 对头发好吗?