IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> сортировка пузырьком, что за ошибка, C (си)
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Всем привет, подскажите пожалуйста как исправить данную ошибку.. Это программа на сортировку методом пузырька.. код вроде верный, а ругается на неописанную константу вроде.. dry.gif


#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;
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


gcc компилит нормально.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






int size;
не может использоваться как размер массива, это переменная, а должна быть - константа, о чем тебе и говорит компилятор...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


А вот кстати gnu нормально работает с неконстантными размерами. Очень был удивлен, обнаружив недавно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Это только GNU имеет такое расширение... Вообще-то, это отклонение от стандарта, поэтому я не пользуюсь этой вещью...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


+1, я тоже не пользуюсь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


спасибо volvo сейчас буду исправлять.. good.gif

Michael_Rybak объясните деревенскому что есть gcc lol.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






ГНУтый компилятор:
Gcc - GNU Compiler Collection
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


пасиба, буду знать... прогу пока так и не смог исправить до работоспособности почему-то... сейчас буду в вашем gcc пробовать)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Цитата(Дёнис @ 19.12.2006 18:07)
прогу пока так и не смог исправить до работоспособности почему-то...
Все, что тебе нужно было сделать - заменить массив на динамический (при использовании С++ это будет выглядеть так):


// double row[size], temp; /* Эта строка не нужна */
double *row, temp;
row = new double[size]; // Выделяем место под массив

// после окончания работы с массивом не забудь его освободить ...


Если ты используешь чистый С - соответственно, вместо new используй malloc ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


всё, исправил, спасибо огромное volvo сам бы в этом месте не додумался бы наверно.. blum.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.12.2020 15:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name