¡Nuevo curso! ¡Todo programador debería aprender IA Generativa!
Prueba una lección gratuita0
Does anybody have any idea that why the output is not the sorted array and how should edit the code and why the output is trash
#include <iostream> using namespace std; void swap(int *,int *); void sort (int [],int ); int main() { const int size=12; int a[size]={1,2,96,21,17,3,9,14}; sort(a,size); for(int i=0;i<size;i++) cout<<a[i]<<" ";} void sort (int a[],int size) { int i,j; int *p; p=a; for(i=0;i<size-1;i++) for(j=1;j<size;j++) if (*(p+j+1)<*(p+j)) swap ((p+j+1),(p+j));} void swap(int *pa,int *pb) {int t; t=*pa; *pa=*pb; *pb=t; }
3 Respuestas
+ 2
Jayakrishna🇮🇳 Still it is not sorted
0
/* Corrected code :
Your size=12 is more than array size so counting garbage values.
In loop, 1st loop condition is should be I<size, next inner loop should be I<size-1 */
#include<iostream>
using namespace std;
void swap(int *,int *);
void sort(int [],int);
int main()
{
int a[]={1,2,96,21,17,3,9,14};
const int size=8;
sort(a,size);
for(int i=0;i<size;i++)
cout<<a[i]<<" ";
}
void sort (int a[],int size)
{
int i,j;
int *p;
p=a;
for(i=0;i<size;i++)
for(j=1;j<size-1;j++)
if (*(p+j+1)<*(p+j))
swap ((p+j+1),(p+j));
}
void swap(int *pa,int *pb)
{
int t;
t=*pa;
*pa=*pb;
*pb=t;
}
0
Guru patel I am getting correct order of sorting for this program. What order you getting wrong?