薛定谔的Cat 2017-09-25 04:09 采纳率: 0%
浏览 330

Java代码改成C++出了点问题,大家能帮我看看嘛

import java.util.Arrays;
import java.util.Scanner;
public class Huffman {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in

);
System.out.println("请输入:");
int n=scanner.nextInt(); //n个箱子
int k=scanner.nextInt(); //k个箱子连一起
int[] data=new int[n];
for(int i=0;i data[i]=scanner.nextInt();
}
Arrays.sort(data);
int sum=0;
//创建一个二维数组存储结果
int date=n%k==0?n/k:n/k+1;
int[][] temp=new int[date][k];
int i=0;
int j=0;
while(date>0) {
date--;
for(i=0;i if(data[i]>0) {
temp[date][j]=data[i];
sum=sum+data[i];
data[i]=0; //已经加过的值清0,避免重复计算
j++;
}
}
//代表一次加成功了
if(j>=k){
data[i-k]=sum;
}
//Arrays.sort(data);
sum=0;
j=0;
}

    date=n%k==0?n/k:n/k+1;
    for(i=0;i<date;i++) {
        for(j=0;j<k;j++) {
            sum=sum+temp[i][j];
        }
    }

    System.out.println(sum);
}

}
Java代码

#include
#include
using namespace std;
void main(){
cout<<"请输入:"< int n;
int k;
cin>>n;
cin>>k;
int *data=new int[n];
int temp=0;
for(int i=0;i cin>>temp;
data[i]=temp;
}
sort(data,data+n);
int sum=0;
int date=n%k==0?n/k:n/k+1;
int *temp[date][k];
int i=0;
int j=0;
while(date>0){
date--;
for(i=0;i if(data[i]>0){
temp[date][j]=data[i];
sum=sum+data[i];
data[i]=0;
j++;
}
}
if(j>=k){
data[i-k]=sum;
}
sum=0;
j=0;
}
date=n%k==0?n/k:n/k+1;
for(int t=0;t<date;t++){
for(int m=0;m<k;m++){
sum=sum+temp[t][m];
}
}
cout<<sum<<endl;
}
C++代码

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料
    • ¥15 使用R语言marginaleffects包进行边际效应图绘制