реклама на сайте
подробности

 
 
> QSORT
Евгений Германов...
сообщение Oct 21 2007, 09:46
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654



Народ!Окажите помощ.Не могу одолеть функцию qsort.что бы не пробовал,кроме ошибок ничего.
#include <stdlib.h>
int nums[5]={ 2,3,1,5,4};

int compar(const void *arg1,const void *arg2);


{
if ( * (int *) arg1 < ( * (int *) arg2) return –1

else if ( * (int *) arg1 == ( * (int *) arg2) return 0

else return 1;

}








void main() {

qsort ( nums, 5, sizeof(int), compar);

}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Евгений Германов...
сообщение Oct 23 2007, 13:16
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654



//#include "C:\Program Files\PICC\CHUDO\asdf\asd1.h"



#include <stdlib.h>
#define A_SIZE 5
int nums[A_SIZE] = { 2,3,1,5,4 };

int compar( const void *arg1, const void *arg2 )
{
return( *(int *)arg1 - *(int *)arg2 );
}

void main()
{
qsort( nums, sizeof(nums)/sizeof(int), sizeof(int), compar );
}
Clean: Deleting intermediary and output files.
Clean: Deleted file "asd1.ERR".
Clean Warning: File "C:\Program Files\PICC\CHUDO\asdf\asd1.o" doesn't exist.
Clean: Done.
Executing: "C:\Program Files\PICC\Ccsc.exe" "asd1.c" +FH +DF +LN +T -A +M +Z +Y=9 +EA
*** Error 128 "C:\PROGRA~1\PICC\drivers\stdlib.h" Line 23(1,2): A #DEVICE required before this line
1 Errors, 0 Warnings.
Halting build on first failure as requested.
BUILD FAILED: Tue Oct 23 19:15:34 2007

Ну и ???
Кстати эта строка вставляется автоматически при создании проекта.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Oct 23 2007, 13:24
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Евгений Германович @ Oct 23 2007, 17:16) *
Ну и ???
Кстати эта строка вставляется автоматически при создании проекта.


А, понятно, это какие-то особенности конкретного компилятора. Не умеет компилировать stdlib.h без указания устройства, под которое ведется компиляция. Чтобы не портить исходник всякими левыми автоматически сгенерированными хедерами - соответссующее определение наверняка можно вставить в опциях проекта.

Вы, вероятно, в первый раз пытаетесь писать на С? Скопируйте для начала какой-нибудь пример, который обычно идет с компилятором, в отдельный каталог. Потом добейтесь его компиляции. Когда будет компилироваться - можно будет дойти до qsort. Так как я с этим компилятором, вероятно, не работал - более подробно объяснить не смогу, как это сделать.

То, что такая строка генерируется автоматически при создани проекта, скорее всего, говорит о качестве компилятора. Птому что бэкслеш - это префикс escape последовательности. И так писать include нехорошо, даже если конкретный компилятор и проглатывает.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Евгений Германов...
сообщение Oct 23 2007, 13:56
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654



Цитата(Oldring @ Oct 23 2007, 16:24) *
А, понятно, это какие-то особенности конкретного компилятора. Не умеет компилировать stdlib.h без указания устройства, под которое ведется компиляция. Чтобы не портить исходник всякими левыми автоматически сгенерированными хедерами - соответссующее определение наверняка можно вставить в опциях проекта.

Вы, вероятно, в первый раз пытаетесь писать на С? Скопируйте для начала какой-нибудь пример, который обычно идет с компилятором, в отдельный каталог. Потом добейтесь его компиляции. Когда будет компилироваться - можно будет дойти до qsort. Так как я с этим компилятором, вероятно, не работал - более подробно объяснить не смогу, как это сделать.

То, что такая строка генерируется автоматически при создани проекта, скорее всего, говорит о качестве компилятора. Птому что бэкслеш - это префикс escape последовательности. И так писать include нехорошо, даже если конкретный компилятор и проглатывает.

С самим проектом все нормально не уводите процесс.На Си не впервые,но не профи.Компилятор полное дерьмо,я не смог на нем создать многофайловый прект.
Однако вернемся к теме.
Текст я не набиваю,а копирую ваш.
О какой лишней строке вы говорите?
#include "C:\Program Files\PICC\CHUDO\asdf\asd1.h" если про эту то с ней все нормально -многократно проверено.Откомпилируйте свой текст сами и будете неприятно удивлены.Пока у вас одни слова.До кучи я трудился на 2 аппаратах на другом эта строка выглядит по другому но ошибки теже самые.

Сообщение отредактировал Евгений Германович - Oct 23 2007, 14:01
Go to the top of the page
 
+Quote Post
Oldring
сообщение Oct 23 2007, 14:15
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Евгений Германович @ Oct 23 2007, 17:56) *
С самим проектом все нормально не уводите процесс.На Си не впервые,но не профи.Компилятор полное дерьмо,я не смог на нем создать многофайловый прект.
Однако вернемся к теме.
Текст я не набиваю,а копирую ваш.
О какой лишней строке вы говорите?
#include "C:\Program Files\PICC\CHUDO\asdf\asd1.h" если про эту то с ней все нормально -многократно проверено.Откомпилируйте свой текст сами и будете неприятно удивлены.Пока у вас одни слова.До кучи я трудился на 2 аппаратах на другом эта строка выглядит по другому но ошибки теже самые.


Вы бы для начала поучились лучше вежливости, прежде чем пальцы растапыривать. Ваша квалификация в программировании очевидно находится на уровне начинающего. Иначе бы вы не задавали подобные вопросы и не сделали бы столько грамматических ошибок в написании одной функции.
Моего текста вы компилировать не можете потому что я ничего не писал. Текст других авторов выглядит нормально.
Ставить себе ваш компилятор и компилировать самому никакого интереса для себя не вижу. Более того, не помню, чтобы был вам что-то должен.
По делу. У вашего компилятора какие-то глюки. Попробуйте скомпилировать один файл без инклудов и вызова функции qsort. То есть одно определение функции compar. Возможно ваш компилятор не понимает ANSI C и нужно выкинуть ключевые слова const.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Евгений Германов...
сообщение Oct 23 2007, 14:24
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654



Цитата(Oldring @ Oct 23 2007, 17:15) *
Вы бы для начала поучились лучше вежливости, прежде чем пальцы растапыривать. Ваша квалификация в программировании очевидно находится на уровне начинающего. Иначе бы вы не задавали подобные вопросы и не сделали бы столько грамматических ошибок в написании одной функции.
Моего текста вы компилировать не можете потому что я ничего не писал. Текст других авторов выглядит нормально.
Ставить себе ваш компилятор и компилировать самому никакого интереса для себя не вижу. Более того, не помню, чтобы был вам что-то должен.
По делу. У вашего компилятора какие-то глюки. Попробуйте скомпилировать один файл без инклудов и вызова функции qsort. То есть одно определение функции compar. Возможно ваш компилятор не понимает ANSI C и нужно выкинуть ключевые слова const.
Вы весьма невнимательны .текст не мой я уже писал об этом.Без инклудов не получится.
#include "C:\Program Files\PICC\CHUDO\asdf\asd1.h"

#include <stdlib.h>
#define A_SIZE 5
int nums[A_SIZE] = { 2,3,1,5,4 };
int compar( const void *arg1, const void *arg2 )
{ return( *(int *)arg1 - *(int *)arg2 );
}
void main()
{ // qsort( nums, sizeof(nums)/sizeof(int), sizeof(int), compar );
}
17 ошибок.И предложение откомпилировать текст было адресовано не вам,вы напрасно возмущаетесь.
Про пальцы больше относится не ко мне.На конкретно поставленный вопрос одни рассуждения.Текст взят без изменений с самого компилятора.

Сообщение отредактировал Евгений Германович - Oct 23 2007, 14:28
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Евгений Германович   QSORT   Oct 21 2007, 09:46
- - evc   Цитата(Евгений Германович @ Oct 21 2007, 13...   Oct 21 2007, 10:51
|- - zltigo   Цитата(evc @ Oct 21 2007, 13:51) Нужно уб...   Oct 21 2007, 11:05
|- - Евгений Германович   Цитата(zltigo @ Oct 21 2007, 14:05) Где у...   Oct 21 2007, 11:12
|- - Oldring   Цитата(Евгений Германович @ Oct 21 2007, 15...   Oct 21 2007, 15:24
- - Edmundo   Цитата(Евгений Германович @ Oct 21 2007, 13...   Oct 21 2007, 19:05
|- - zltigo   Цитата(Edmundo @ Oct 21 2007, 22:05) но п...   Oct 21 2007, 22:22
|- - Edmundo   Цитата(zltigo @ Oct 22 2007, 02:22) Еще о...   Oct 22 2007, 04:41
- - Евгений Германович   Clean: Deleting intermediary and output files. Cle...   Oct 22 2007, 12:20
|- - zltigo   Цитата(Евгений Германович @ Oct 22 2007, 15...   Oct 22 2007, 12:33
- - Евгений Германович   Эти ошибки получены при компиляции предложенного в...   Oct 22 2007, 14:32
|- - zltigo   Цитата(Евгений Германович @ Oct 22 2007, 17...   Oct 22 2007, 14:42
- - Евгений Германович   Может вы не в курсе но пробел это тоже строка. Есл...   Oct 23 2007, 12:18
|- - zltigo   Цитата(Евгений Германович @ Oct 23 2007, 15...   Oct 23 2007, 12:39
|- - Oldring   Цитата(Евгений Германович @ Oct 23 2007, 16...   Oct 23 2007, 12:51
|- - zltigo   Цитата(Oldring @ Oct 23 2007, 15:51) Кста...   Oct 23 2007, 13:26
|- - Oldring   Цитата(zltigo @ Oct 23 2007, 17:26) С дво...   Oct 23 2007, 13:36
||- - zltigo   Цитата(Евгений Германович @ Oct 23 2007, 16...   Oct 23 2007, 14:07
|||- - Евгений Германович   Цитата(zltigo @ Oct 23 2007, 17:02) Не об...   Oct 23 2007, 14:11
|||- - zltigo   Цитата(Евгений Германович @ Oct 23 2007, 17...   Oct 23 2007, 14:45
||- - Oldring   Цитата(Евгений Германович @ Oct 23 2007, 18...   Oct 23 2007, 14:25
||- - Евгений Германович   Цитата(Oldring @ Oct 23 2007, 17:25) У ва...   Oct 23 2007, 14:45
||- - Oldring   Цитата(Евгений Германович @ Oct 23 2007, 18...   Oct 23 2007, 14:50
||- - Евгений Германович   Цитата(Oldring @ Oct 23 2007, 17:50) Это ...   Oct 23 2007, 15:20
||- - Oldring   Цитата(Евгений Германович @ Oct 23 2007, 19...   Oct 23 2007, 15:24
|- - soshnev   Цитата(Евгений Германович @ Oct 23 2007, 17...   Oct 23 2007, 13:49
- - Евгений Германович   все проверю,до завтра. Цитата(Евгений Германович ...   Oct 23 2007, 15:43
|- - Oldring   Цитата(Евгений Германович @ Oct 23 2007, 19...   Oct 23 2007, 16:38
|- - zltigo   Цитата(Oldring @ Oct 23 2007, 19:38) Я то...   Oct 23 2007, 18:24
|- - Oldring   Цитата(zltigo @ Oct 23 2007, 22:24) Имена...   Oct 23 2007, 19:16
|- - dxp   Цитата(zltigo @ Oct 24 2007, 01:24) Имена...   Oct 24 2007, 03:35
|- - zltigo   Цитата(dxp @ Oct 24 2007, 06:35) Насчет с...   Oct 24 2007, 07:14
- - Евгений Германович   Не ссорьтесь.Я до неприличия упростил программу.Вс...   Oct 24 2007, 12:59
|- - Oldring   Цитата(Евгений Германович @ Oct 24 2007, 16...   Oct 24 2007, 16:11
- - Евгений Германович   Поробую.Кстати почему вы считаете что это для 8 би...   Oct 25 2007, 13:11
|- - Oldring   Цитата(Евгений Германович @ Oct 25 2007, 17...   Oct 25 2007, 13:20
|- - zltigo   Цитата(Oldring @ Oct 25 2007, 16:20) Прав...   Oct 25 2007, 13:50
- - Евгений Германович   Я ответил,но перепутал адресата,все работало и еще...   Oct 25 2007, 14:45
|- - Oldring   Цитата(Евгений Германович @ Oct 25 2007, 18...   Oct 25 2007, 15:36
|- - Евгений Германович   Цитата(Oldring @ Oct 25 2007, 18:36) Я во...   Oct 26 2007, 13:39
||- - xemul   Цитата(Евгений Германович @ Oct 26 2007, 17...   Oct 26 2007, 14:46
|||- - Евгений Германович   Цитата(xemul @ Oct 26 2007, 17:46) Вам уж...   Oct 27 2007, 12:52
|||- - Oldring   Цитата(Евгений Германович @ Oct 27 2007, 16...   Oct 27 2007, 14:21
||||- - Евгений Германович   Цитата(Oldring @ Oct 27 2007, 17:21) Ну э...   Oct 28 2007, 09:37
||||- - Oldring   Цитата(Евгений Германович @ Oct 28 2007, 12...   Oct 28 2007, 09:44
||||- - Евгений Германович   Цитата(Oldring @ Oct 28 2007, 12:44) соба...   Oct 28 2007, 14:00
|||- - xemul   Цитата(Евгений Германович @ Oct 27 2007, 16...   Oct 28 2007, 16:55
||- - Oldring   Цитата(Евгений Германович @ Oct 26 2007, 17...   Oct 26 2007, 14:49
|- - xemul   Цитата(Oldring @ Oct 25 2007, 19:36) ... ...   Oct 26 2007, 15:03
|- - Oldring   Цитата(xemul @ Oct 26 2007, 19:03) AVR то...   Oct 26 2007, 15:37
|- - Евгений Германович   Цитата(xemul @ Oct 26 2007, 18:03) AVR то...   Oct 27 2007, 10:39
|- - Oldring   Цитата(Евгений Германович @ Oct 27 2007, 14...   Oct 27 2007, 11:08
|- - zltigo   Цитата(Oldring @ Oct 27 2007, 14:08) Дуря...   Oct 27 2007, 11:20
|- - Oldring   Цитата(zltigo @ Oct 27 2007, 15:20) Не ду...   Oct 27 2007, 12:44
- - Евгений Германович   Прочитайте про разрядность команд.   Oct 27 2007, 12:20
- - Евгений Германович   PIC C Compiler.Про нт не знаю но вы по моему плохо...   Oct 29 2007, 13:49


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016