gpt4 book ai didi

c++ - 如何将数组的一部分从 int 转换为 float 并将值设置为另外两个数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:58:43 27 4
gpt4 key购买 nike

编辑:我正在尝试和搜索,但没有找到如何仅将 (j==3) 的部分转换为 float ,因为我需要评估(等级或 idk 确切的词)从 2 到6 - 它可以是 3,5...所以我需要 float 。好的,检查我的代码:

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
unsigned int m[25][4], a[25][4], b[25][4];
int i,j,n,k=0,p=0,g=0,t=0;
do
{
cout<<"Enter number of students: ";cin>>n;
}
while(!(n>0 && n<=25));

for(i=0;i<n;i++)
{
cout<<"Student N:"<<i+1<<"\n";
for(j=0;j<4;j++)
if(j==0)
{
do
{
cout<<"Fak nomer: ";cin>>m[i][j];
}
while(!(m[i][j]>=10000000 && m[i][j]<100000000));
}
else if(j==1)
{
do
{
cout<<"Enter Speciallity - 52 for E, 61 for AIUT"<<endl;
cout<<"Code: ";cin>>m[i][j];
}
while(!(m[i][j]==52 || m[i][j]==61));
}
else if(j==2)
{
do
{
cout<<"Group: ";cin>>m[i][j];
}
while(!(m[i][j]==1 || m[i][j]==2 || m[i][j]==3 || m[i][j]==4));
}
else
{
//float f=m[i][j];(i tried to replace all m[i][j] with f but..)
do
{
cout<<"Avg. evaluation: ";cin>>m[i][j];
}
while(!(m[i][j]>=2 && m[i][j]<=6));
//m[i][j]=f;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
cout<<setprecision(8)<<m[i][j]<<"\t";
cout<<endl;
}
cout<<endl;
}

假设我们要让整个数组 float ,所以我需要根据两个新数组设置信息:

if(m[i][1]==52)
a[k][p]=m[i][j]
else if(m[i][1]==61)
b[g][t]=m[i][j]

实际上我需要根据组代码显示它们,如果 52 显示只有 52 的数组...如果 61 只显示有 61 的数组,对它们进行某种排序...我尝试了一些方法,但我明白了那:“-9.2559631e+061”,我认为正如我所说的,我需要无符号数组来工作......已编辑!

最佳答案

你不能。数组具有相同类型的所有条目。

不过,有几种方法可以解决这个问题。第一个是使整个数组成为 float 类型。另一种是使用类似 Boost Any class 的东西。 .

关于c++ - 如何将数组的一部分从 int 转换为 float 并将值设置为另外两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13562310/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com