ZVS 
 
 
		
		
		
			
			
			
 
 
			
Posts: 500 
	
		
	 | 
	
		
			
			 
			
				А чего qsort не использовал для сортировки?
			 
			
			
			
		 |  
	 
 | 
	| 29.09.2010 02:00 | 
	
		
	 | 
	
		
		ZVS 
 
 
		
		
		
			
			
			
 
 
			
Posts: 500 
	
		
	 | 
	
		
			
			 
			
				Тогда по мелочи еще пара вопросов. 
1. Зачем менять указатели, если if (strcmp(Arr[LeftInd], MiddleItem)  == 0), просто лень отделить было? 
2. Зачем скобки в вызовах типа SortStrArr(&Arr[0],  (RightInd + 1 )); на всякий случай? Добавлено:
 (29.09.2010 02:07)Berserker Wrote:  Кое-что пока не ясно. Создал .h-файл без .cpp-аналога, подключил его, но компилятор в упор его не видит: 
#include <GeneralUnit.h> 
... 
А если так: 
#include "GeneralUnit.h"
			  
			
			
			
				
(This post was last modified: 29.09.2010 02:17 by ZVS.)
 
			 
		 |  
	 
 | 
	| 29.09.2010 02:16 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
			
			 
			
				Quote:1. Зачем менять указатели, если if (strcmp(Arr[LeftInd], MiddleItem) == 0), просто лень отделить было? 
Машинально при правке поставил. Первоначально было > 0.
 Quote:2. Зачем скобки в вызовах типа SortStrArr(&Arr[0], (RightInd + 1)); на всякий случай? 
Логически выделил. Зрительно проще воспринимаю выражения так.
 
Хочу попробовать с классами поработать, написать аналог строк в Делфи со всякими умными фишками, но пока не понимаю, могут ли существовать заголовочные файлы без cpp-аналогов или пусть даже пустой плюсовый файл, но обязателен?
			  
			
			
  
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов 
Поддержать проект 
			
		 |  
	 
 | 
	| 29.09.2010 02:20 | 
	
		
	 | 
	
		
		ZVS 
 
 
		
		
		
			
			
			
 
 
			
Posts: 500 
	
		
	 | 
	
		
			
			 
			
				Ясный перец могут. Они вообще никак не связаны для компилятора. Плюсовый фай абсолютно не обязателен.
			 
			
			
			
		 |  
	 
 | 
	| 29.09.2010 02:23 | 
	
		
	 | 
	
		
		ZVS 
 
 
		
		
		
			
			
			
 
 
			
Posts: 500 
	
		
	 | 
	
		
			
			 
			
				Не путай его. Пусть вначале просто с классами разберется. Шаблоны - это следующий шаг.
			 
			
			
			
		 |  
	 
 | 
	| 29.09.2010 02:26 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
 | 
	| 29.09.2010 02:30 | 
	
		
	 | 
	
		
		ZVS 
 
 
		
		
		
			
			
			
 
 
			
Posts: 500 
	
		
	 | 
	
		
 | 
	| 29.09.2010 02:31 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
			
			 
			
				Да. BloodShed Dev-C++ (включает в себя gcc с mingw) пишет, что без понятия, где файл. Добавил директорию проекта в список подключаемых. Нулевой эффект. Не принимает файл "GeneralUnit.h" хоть убей, а StringUnit.cpp нормально включается в проект. Добавлено:
Code: 
 Êîìïèëÿòîð: Default compiler 
Building Makefile: "C:\Dev-Cpp\Examples\Hello\Makefile.win" 
Âûïîëíåíèå  make... 
make.exe -f "C:\Dev-Cpp\Examples\Hello\Makefile.win" all 
g++.exe -D__DEBUG__ -c Hello.cpp -o Hello.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include"    -g3 
 
Hello.cpp:4:25: GeneralUnit.h: No such file or directory 
Hello.cpp:6: error: `pointer' does not name a type 
Hello.cpp:8: error: variable or field `ExchangeStrs' declared void 
Hello.cpp:8: error: `pchar' was not declared in this scope 
Hello.cpp:8: error: `StrA' was not declared in this scope 
Hello.cpp:8: error: `pchar' was not declared in this scope 
Hello.cpp:8: error: `StrB' was not declared in this scope 
 
Hello.cpp:9: error: initializer expression list treated as compound expression 
 
Hello.cpp:9: error: expected `,' or `;' before '{' token 
Hello.cpp:15: error: variable or field `SortStrArr' declared void 
Hello.cpp:15: error: `pchar' was not declared in this scope 
Hello.cpp:15: error: expected primary-expression before "int" 
Hello.cpp:16: error: initializer expression list treated as compound expression 
Hello.cpp:16: error: expected `,' or `;' before '{' token 
Hello.cpp:50: error: `pchar' has not been declared 
Hello.cpp:51: error: ISO C++ forbids declaration of `args' with no type 
Hello.cpp: In function `int main(int, int*)': 
Hello.cpp:53: error: `pchar' undeclared (first use this function) 
Hello.cpp:53: error: (Each undeclared identifier is reported only once for each function it appears in.) 
Hello.cpp:53: error: expected `;' before "strs" 
Hello.cpp:54: error: `strs' undeclared (first use this function) 
Hello.cpp:54: error: `SortStrArr' cannot be used as a function 
 
make.exe: *** [Hello.o] Error 1
  
			 
			
			
  
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов 
Поддержать проект 
			
		 |  
	 
 | 
	| 29.09.2010 02:40 | 
	
		
	 | 
	
		
		ZVS 
 
 
		
		
		
			
			
			
 
 
			
Posts: 500 
	
		
	 | 
	
		
			
			 
			
				Ну попробуй включить с полным путем. Если заработает ищи настройки умолчательного пути к каталогу инклудов. Если нет - выброси свой dev-c++ Добавлено: 
По правилам C++ при включении файла в "" он ищется в папке текущего проекта, а в <> ищется в каталоге стандартной библиотеки. 
P.S. Ты бы лучше начало файла Hello.cpp поместил, а не полный лог. 
P.S.S. 
И какая из этих  
-I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"   
-I"C:/Dev-Cpp/include/c++/3.4.2/backward"   
-I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"   
-I"C:/Dev-Cpp/include/c++/3.4.2"   
-I"C:/Dev-Cpp/include"     директория твоего проекта?
			 
			
			
			
				
(This post was last modified: 29.09.2010 02:51 by ZVS.)
 
			 
		 |  
	 
 | 
	| 29.09.2010 02:44 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
 | 
	| 29.09.2010 02:51 | 
	
		
	 | 
	
		
		Bourn 
 
 
		
		
		
			
			
			
 
 
			
Posts: 189 
	
		
	 | 
	
		
			
			 
			
				MSVC компилер - не найдет разницы между  
#include <GeneralUnit.h> 
#include "GeneralUnit.h"  
хотя стоит придерживаться классики
			 
			
			
			
		 |  
	 
 | 
	| 29.09.2010 13:20 | 
	
		
	 | 
	
		
		ZVS 
 
 
		
		
		
			
			
			
 
 
			
Posts: 500 
	
		
	 | 
	
		
			
			 
			
				Вообще разница есть. Если совсем точно по стандарту, то "" вначале должен искаться в текущей папке и если не находится, то в системной, а <> наоборот в системной и если нет, то в текущей. 
Поэтому кажется, что разницы нет. Но она есть. Создай в папке проекта stdio.h и посмотри какой файл будет включаться в <stdio.h> и "stdio.h". Сделано это, чтобы можно было в частности временно для проекта подменять стандартные библиотеки, не трогая оригинальные библиотечные файлы. 
Кстати раньше MSVC не поддерживал стандарт полностью и искал только так как я написал раньше.
			 
			
			
			
		 |  
	 
 | 
	| 30.09.2010 00:35 | 
	
		
	 | 
	
		
		packa 
 
 
		
		
		
			
			
			
 
 
			
Posts: 1210 
	
		
	 | 
	
		
			
			 
			
				Тема вроде подходящая, хотел спросить: 
Может кто подсказать хорошую обучалку по с++?  
То бишь проверенную, надежную.  
 
Буду благодарен.
			 
			
			
  
подпись была удалена администрацией 
просьба не использовать картинки с сайта heroeslibrary.net, так как на них ругается Chrome
			
				
(This post was last modified: 17.02.2011 21:43 by packa.)
 
			 
		 |  
	 
 | 
	| 17.02.2011 21:43 | 
	
		
	 |