c++作业 5点半交 关于数组 急求大仙帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/22 11:00:57
1 对整形a[100]赋值 奇数下标赋负值 偶数下标赋正值
2 整形二唯b[3][4]输入12个数据 计算整数之和 负数之和
3 对稀疏数组a[20] 将所有非零元素值按紧密排列形式转移到数组的前端
4 输入一个数 在整形a[20]中 用折半法找出该数上第几个元素的值 如果不在数组中 则打印 No Found

能做多少做多少 谢谢

第一题:
static int p=1;
int ia[100];
for(int i=0;i!=100;i++)
{
ia[i]=p;
p=(-1)*p;
}
注:这是一个{1,-1,1,-1,……}这样的数组;

第二题
static int a=0;
static int b=0;
int ia[3][4];
for(int i=0;i!=12;i++)
{
cin>>ia[i];
}
for(int j=0;j!=12;j++)
{
a+=ia[j];
if(ia[j]<0)
{
b+=ia[j];
}
}
cout<<"整数之和:"<<a<<endl;
cout<<"负数只和:"<<b<<endl;
第三题:稀疏数组?忘记是怎么定义的了,故不作回答,不好意思……
第四题:数组是有序排列的吗?不是的话,折半查找有什么意义……

1.
for(int i = 0; i < 100; i++ )
{
if ( i%2 == 0 )
a[i] = 1;
else
a[i] = -1;
}

你还是自己动动脑子吧,很基础的东西呀

如果用C语言,我能在16:20前交给你,但是我不懂C++,抱歉

3
#include <stdio.h>

void main()
{
int a[20]={0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,3,0,0};
int k,j;

k=0;

for(int i=0;i<20;i++)