Я пишу программу сортировки пузырьков.Я использую TCC (http://bellard.org/tcc/)。 Я использую длинные длинные переменные в моей программе, потому что входные данные очень большие. Моя проблема: Когда количество входных данных мало (например, 10), моя программа работает отлично. Но когда количество входных данныхданные велики (например, 5814) моя программа работает неправильно.
========================================
Мой код и файл входных данных находятся здесь:
https://skydrive.live.com/?cid=bfe8af46e42e3ecf&sc=documents&uc=4&id=BFE8AF46E42E3ECF!935
=========================================
Вот моя программа и данные тестирования:
/*bubble.c*/
#include <stdio.h>
int main()
{
int n,i,j;
long long t,
a[6001]; /*Change this to a[10000], then it works perfectly*/
freopen("data.in.txt","r",stdin);
freopen("date.out.txt","w",stdout);
scanf("%d",&n);
/*Read input data from "data.in.txt"*/
for (i=1;i<=n;i++) {
scanf("%lld",&a[i]);
/*printf("i=%d\ta[i]=%lld\n",i,a[i]);*/
}
/*Bubble Sort*/
for (i=1;i<=n-1;i=i+1) {
for (j=n;j>=i+1;j=j-1) {
if (a[j]<a[j-1]) {
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
}
/*Output data to "data.out.txt"*/
for (i=1;i<=n;i++) {
printf("i=%d\ta[i]=%lld\n",i,a[i]);
}
/*printf("Time used =%lf\n",(double)clock() / CLOCKS_PER_SEC);*/
/*system("pause");*/
return 0;
}
=================================
Мои входные данные: очень большие числа.
5814
209442427 1519418927 828028199 47874386 1918308053 665370647 355436872 122922452 1361311685 1711685536 1850886562 752723777 567058321 1879534287 5799420 11391 214 939 932 939 211 932 932 932 932 932 939 839 932 932 939 211 967 932 932 939 932 939 832 939 832 932 939 832 939 832 932 939 832 939 832 932 939 838 581 841 939 839 581 868 932 838 581 * 218 581 * 918 * 932148148132132132132132393232322 8321481 581 *1018* 589 *1018* 5317 9317/10 или раз отойдут