#include<stdio.h>
#include<stdlib.h>
#define MAX 100
int input_size_number() {
int result = 0;
char string[MAX] ;
char* buffer;
do {
printf("Input array size: ");
scanf("%s", string);
result = (int)strtol(string, &buffer, 10);
} while(*buffer != '\0' || result <0);
return result;
}
void input_array( int *a, int n) {
char string[MAX];
char* buffer;
for(int i = 0; i < n; i++) {
do {
printf("Input a[%d]: ", i);
scanf("%s", string);
a[i] = strtof(string, &buffer);
} while(*buffer != '\0');
}
}
void sort(int a[],int n)
{
for (int i = 0; i<n; i++)
{
for (int j=i+1;j<n;j++)
{
if (a[i]>a[j])
{
int tam=a[i];
a[i]=a[j];
a[j]=tam;
}
}
}
}
void OutArr(int a[],int n)
{
printf("mảng:");
for (int i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
}
void input_new(int a[],int n)
{
char* buffer;
char string[MAX];
do{
printf("\nPlease enter new value: ");
scanf("%d",&a[n]);
a[n] = (int)strtol(string,&buffer, 10);
}while(*buffer != '\0');
}
//void input_new(int a[],int n)
//{
//printf("\nPlease enter new value: ");
// scanf("%d",&a[n]);
//
//
//
//}
void sort_new(int a[],int n)
{
for (int i = 0; i<=n; i++)
{
for (int j=i+1;j<=n;j++)
{
if (a[i]>a[j])
{
int tam=a[i];
a[i]=a[j];
a[j]=tam;
}
}
}
}
void OutNew( int a[],int n)
{
for (int i=0;i<=n;i++)
{
// printf("New array:");
printf("%d\t",a[i]);
}
}
int main()
{
int a[MAX];
int n;
int inval;
long int m;
n=input_size_number();
input_array(a,n);
sort(a,n);
OutArr(a,n);
input_new(a,n);
sort_new(a,n);
OutNew(a,n);
fpurge(stdin);
return 0;
}
chuyện là vậy bài tập giao cho sắp xếp một mảng sau đó thêm gái trị bất kì để nó sắp sắp. Vấn đề ở là mình không thể nào add giá trị mới vào cho nó tụ sắp xếp. có ai thấy lỗi sai ở đâu chỉ mình với