梦想是代码一写就对 2023-04-18 19:45 采纳率: 65%
浏览 14

c++实现文件输入的实现问题

img


是我文件的输入有问题还是代码有问题,他为啥显示我读的都是我赋的初值啊

#include<iostream>
#include<fstream>
using namespace std;
void Searchz(int arr[],int &z,int &c); 
void QuickSort(int a[],int p,int r ) ;
int partition(int a[],int p,int r);
main()
{
    int arr[4]={0};
    ifstream ofile;
    ofile.open("D:\\imput.txt",ios::in);
    for(int i=0;i<4;i++)
    {
    ofile>>arr[i];
    cout<<arr[i]<<" ";
    }
    QuickSort(arr,0,3);
    ofstream oufile;
    oufile.open("D:\\output.txt",ios::out);
    int z=-1,c=-1;//众数、重数 
    Searchz(arr,z,c);
    oufile<<"众数为:"<<z<<" 重数为:"<<c<<endl; 
    ofile.close();
    oufile.close();
}
void Searchz(int arr[],int &z,int &c)
{
    int zt=-1,ct=-1;//临时众数、临时重数
    //int z=-1,c=-1;//众数、重数
    for(int i=0;i<4;i++)
    {
      if(arr[i]!=zt)
      {
          zt=arr[i];ct=1;
      }    
      else if(arr[i]==zt)ct++;
      if(ct>c)//关键代码,比较出真正的重数 
      {
          c=ct;z=zt;//临时赋给真正的 
      }
    } 
//    ofile<<"众数为:"<<z<<" 重数为:"<<c<<endl; 
} 
void QuickSort(int a[],int p,int r)
{
    if(p<r)
    {
        int q=partition(a,p,r);
        QuickSort(a,p,q-1);
        QuickSort(a,q+1,r);
    }
}
int partition(int a[],int p,int r)
{
    int i=p,j=r+1;
    int x=a[p],temp;
    while(1)
    {
        while(a[++i]<x&&i<r);
        while(a[--j]>x);
        if(i>=j) break;
        temp=a[i];
        a[i]=a[j];
        a[j]=temp;
    }
    a[p]=a[j];
    a[j]=x;
    return j;
}
/*难点在于变量的设置,如果只设一个众数和重数,会无限制的覆盖,无法比较,当再设置一对临时众数和重数后 ,由if(ct>c)进行重数的比较  
,zt不用再设置if比较,重数确定了那众数也关联确定,可以用个简单的例子进行比较,比如1 2 2 4,for循环到a[3]时,2的ct(c)等于2,4的ct仅为1
,重数众数确定。按升序排列好的数组,众数会挨着,2 1 2 2就会出现问题,重数只会是2*/

  • 写回答

2条回答 默认 最新

  • 乘风xs 2023-04-18 19:49
    关注

    把完整代码复制粘贴出来一下

    评论

报告相同问题?

问题事件

  • 修改了问题 4月18日
  • 创建了问题 4月18日

悬赏问题

  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥20 和学习数据的传参方式,选择正确的传参方式有关
  • ¥15 这是网络安全里面的poem code
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路