注册 登录
编程论坛 C++教室

求同存异的问题

未未来 发布于 2013-03-21 22:01, 681 次点击
问题 :输入两个数组(数组元素个数6和8),输出在两个数组中都出现的元素(如a[6]={2,3,4,5,6,7},b[8]={3,5,7,9,11,13,15,19},则输出3、5、7)。
  我的代码
程序代码:
#include<iostream>
using namespace std;
int main(){
    const size_t num1=6,num2=8;
    int ia[num1];
    int ib[num2];
    int a;
    size_t ix;
    ix=0;
    while(cin>>a){
        if(ix!=6){
            ia[ix]=a;
            ++ix;
            }
       ix=0;
    while(cin>>a){
            if(ix!=8)
            ib[ix]=a;
            ++ix;
        }
    }

 size_t iy=0,iz=0;

 while(iy!=6){
     while(iz!=8){
         if(ia[iy]==ia[iz])
         cout<<ia[iy]<<endl;
         else{
             ++iz;
         }}
++iy;     

 

 }

 
    return 0;
}




实现不了预期效果。
6 回复
#2
azzbcc2013-03-21 22:20
数组初始化部分不对,后面就没跟进了

要学会调试程序
#3
c117617262013-03-21 23:03
回复 楼主 未未来
#include <stdio.h>
#include <iostream>
using namespace std;

void main()
{
    int num1[6],num2[8];
    cout<<"请输入第一个数组(6个数字):";
    for (int i=0;i<6;i++)
    {
        cin>>num1[i];
    }

    cout<<"请输入第二个数组(8个数字):";
    for (int i=0;i<8;i++)
    {
        cin>>num2[i];
    }
    cout<<"两组数组中一样的数据是:";
    for (int i=0;i<6;i++)
    {
        for(int j=0;j<8;j++)
        {
            if (num1[i]==num2[j])
            {
                cout<<num1[i]<<' ';
            }
        }
    }
    _flushall();
    getchar();
}
#4
c117617262013-03-21 23:04
敢问楼下的,怎样实现数组的数量自定义呢?
#5
peach54602013-03-22 08:24
用vector吧
#6
qunxingw2013-03-22 10:15
还要考虑下一个数组里有相同的几个数与另数组相同。
#7
忧伤的小王子2013-03-22 16:06
来过。mark
1