J'utilise ce code pour la surcharge de fonctions en utilisant C++ pour trier un tableau double et un tableau d'entiers.Le programme C++ arrondit automatiquement les valeurs doubles à l'exception de la première valeur dans un tableau
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
void sort(int arr[],int n)
{
int i,j,key;
for(j=1;j<n;j++)
{
key=arr[j];
i=j-1;
while((i>=0)&&(arr[i]>key))
{
arr[i+1]=arr[i];
i--;
}
arr[i+1]=key;
}
cout<<"Sorted integer array is \n";
for(i=0;i<n;i++)
{
cout<<arr[i]<<endl;
}
}
void sort(double arr[],int n)
{
int i,j,key;
for(j=1;j<n;j++)
{
key=arr[j];
i=j-1;
while((i>=0)&&(arr[i]>key))
{
arr[i+1]=arr[i];
i--;
}
arr[i+1]=key;
}
cout<<"Sorted double array is \n";
for(i=0;i<n;i++)
{
cout<<arr[i]<<endl;
}
}
int main()
{
int n;
cout<<"Enter the size of the array \n";
cin>>n;
cout<<"Enter the values for the integer function \n";
int a[n];
int i;
for(i=0;i<n;i++)
{
cin>>a[i];
}
double b[n];
cout<<"Enter the values for the double array \n";
for(i=0;i<n;i++)
{
cin>>b[i];
}
sort(a,n);
sort(b,n);
}
Dans la réponse, il arrondit les valeurs des valeurs doubles sauf la première entrée dans le double tableau. Y at-il une étape de coulée de type qui me manque ou tout autre défaut dans le code?
'VLA's ne sont pas' C++ 'standard, pourquoi wont vous utilisez' std: : array'/'std :: vector' –
Je vous suggère de lire [Pourquoi ne devrais-je pas #include?] (https://stackoverflow.com/questi ons/31816095/why-should-i-not-include-bits-stdc-h) –
Vous déclarez 'int a [n];' tableaux avec un nombre non constant 'n' –