В настоящее время я учусь программировать на C. В одной из задач в моем задании я должен составить гистограмму (нарисованную на основе основного вывода консоли, например: http://img703.imageshack.us/img703/448/histogram.jpg), чтобы измерить количество символовв текстовом файле (стандартное для этого назначения - 1,3 МБ). Я сделал такую функцию:
int *yAxisAverageMethod(int average, int max, int min)
{
int *yAxis;
int i=0;
for (i=0;i<20;i++)
{
*(yAxis+i)=0;
}
/*
int length=sizeof(data)/sizeof(int);
*/
int lower_half_interval=average/10;
int upper_half_interval=(max-average)/10;
int current_y_value=min;
for (i=0;i<11;i++)
{
if (i==10){
*(yAxis+10)=average;
break;
}
*(yAxis+i)=current_y_value;
current_y_value+=lower_half_interval;
}
current_y_value+=average+upper_half_interval;
printf("Current y value:%d\n",current_y_value);
printf("Current max value:%d\n",max);
for (i=11;i<20;i++)
{
*(yAxis+i)=current_y_value;
current_y_value+=upper_half_interval;
}
return yAxis;
}
В этой функции я собираюсь вернуть массив из 20 целых чисел, чтобы сделатьось. Я нахожу среднее значение всех символов, затем использовал 20 строк консоли, чтобы отобразить его. Нижние 10 строк используются для отображения значений ниже среднего значения общего количества символов, а 10 строк используются для отображения верхнейЧасть. Каждый шаг по оси Y нижней половины рассчитывается как (среднее значение - мин) / 10, а каждый шаг по оси Y верхней части рассчитывается по (максимум - среднее значение) / 10. Это мой методНарисуйте гистограмму, потому что я хочу отобразить варианты между значениями.
В основном методе у меня есть вызов этой функции:
int *yAxis;
yAxis=yAxisAverageMethod(average,max,min);
Я получил fau сегментацииЭто когда я запустил функцию.В компиляторе GCC ++ netbean работает нормально.Однако, когда я запустил его на университетских машинах (которые мне нужно скомпилировать в командной строке и отредактировать в Vi), я получил ошибку.Я думаю, это потому, что у Netbean есть собственный менеджер памяти?Я не понимаю.
Отредактировано: я задам вопрос о сортировке слиянием в другом вопросе.