![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Дёнис |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем привет, подскажите пожалуйста как исправить данную ошибку.. Это программа на сортировку методом пузырька.. код вроде верный, а ругается на неописанную константу вроде..
![]()
#include <stdio.h>
#include <math.h>
int main ()
{
int size;
printf("size=");
scanf("%d",&size);
{ int i, j, bound=size-1, exchange;
double row[size], temp;
for (i=0; i<size; i++)
row[i]=i/(2.0+i)-sin(i*i/(2.0+i));
for (i=0; i<size; i++)
printf("%crow[%d]=%5.2f",i%4?'\t':'\n',i,row[i]);
do {
for (j=0, exchange=0; j < bound; j++)
if (row[j]>row[j+1])
{ temp=row[j];
row[j]=row[j+1];
row[j+1]=temp;
exchange=j+1;
}
bound=exchange-1;
}
while (bound > 0);
printf("\nResult:");
for (i=0; i<size; i++)
printf("%crow[%d]=%5.2f",i%4?'\t':'\n',i,row[i]);
}
return 0;
}
|
Michael_Rybak |
![]()
Сообщение
#2
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
gcc компилит нормально.
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
int size;
не может использоваться как размер массива, это переменная, а должна быть - константа, о чем тебе и говорит компилятор... |
Michael_Rybak |
![]()
Сообщение
#4
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
А вот кстати gnu нормально работает с неконстантными размерами. Очень был удивлен, обнаружив недавно.
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Это только GNU имеет такое расширение... Вообще-то, это отклонение от стандарта, поэтому я не пользуюсь этой вещью...
|
Michael_Rybak |
![]()
Сообщение
#6
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
+1, я тоже не пользуюсь.
|
Дёнис |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
спасибо volvo сейчас буду исправлять..
![]() Michael_Rybak объясните деревенскому что есть gcc ![]() |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
ГНУтый компилятор:
Gcc - GNU Compiler Collection |
Дёнис |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
пасиба, буду знать... прогу пока так и не смог исправить до работоспособности почему-то... сейчас буду в вашем gcc пробовать)
|
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата(Дёнис @ 19.12.2006 18:07) прогу пока так и не смог исправить до работоспособности почему-то... Все, что тебе нужно было сделать - заменить массив на динамический (при использовании С++ это будет выглядеть так):
// double row[size], temp; /* Эта строка не нужна */
double *row, temp;
row = new double[size]; // Выделяем место под массив
// после окончания работы с массивом не забудь его освободить ...
Если ты используешь чистый С - соответственно, вместо new используй malloc ... |
Дёнис |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
всё, исправил, спасибо огромное volvo сам бы в этом месте не додумался бы наверно..
![]() |
![]() ![]() |
![]() |
Текстовая версия | 10.08.2025 3:55 |