ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4261  
Старый 12.11.2009, 21:12
Аватар для new-sl
new-sl
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме:
105684

Репутация: -1
По умолчанию

нужен алгоритм сортирофки чисел
 
Ответить с цитированием

  #4262  
Старый 12.11.2009, 21:14
Аватар для Lee_fx
Lee_fx
Познающий
Регистрация: 27.09.2008
Сообщений: 57
Провел на форуме:
265628

Репутация: 23
По умолчанию

std::sort ?
 
Ответить с цитированием

  #4263  
Старый 12.11.2009, 21:22
Аватар для new-sl
new-sl
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме:
105684

Репутация: -1
По умолчанию

Цитата:
Сообщение от Lee_fx  
std::sort ?
алгоритм
 
Ответить с цитированием

  #4264  
Старый 12.11.2009, 21:22
Аватар для Irdis
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
Провел на форуме:
1576821

Репутация: 88
Отправить сообщение для Irdis с помощью ICQ
По умолчанию

http://ru.wikipedia.org/wiki/Алгоритм_сортировки
 
Ответить с цитированием

  #4265  
Старый 12.11.2009, 21:26
Аватар для new-sl
new-sl
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме:
105684

Репутация: -1
По умолчанию

ты видел как там всё написано минебы попроще да с примером вики и я смотрел
 
Ответить с цитированием

  #4266  
Старый 12.11.2009, 21:34
Аватар для Irdis
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
Провел на форуме:
1576821

Репутация: 88
Отправить сообщение для Irdis с помощью ICQ
По умолчанию

http://ru.wikipedia.org/wiki/Быстрая_сортировка
В вики читать лучше, чем мы будем тебе все вместе объяснять...
Код:
int n, a[n];
void qs(int* s_arr,int first, int last)
{
    int i = first, j = last, x = s_arr[(first + last) / 2];
 
    do {
        while (s_arr[i] < x) i++;
        while (s_arr[j] > x) j--;
 
        if(i <= j) {
            if (i < j) swap(s_arr[i], s_arr[j]);
            i++;
            j--;
        }
    } while (i <= j);
 
    if (i < last)
        qs(s_arr,i, last);
    if (first < j)
        qs(s_arr,first,j);
}
 
Ответить с цитированием

  #4267  
Старый 12.11.2009, 21:43
Аватар для new-sl
new-sl
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме:
105684

Репутация: -1
По умолчанию

спасибо тебе ты девушка?
 
Ответить с цитированием

  #4268  
Старый 12.11.2009, 22:22
Аватар для VIP
VIP
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме:
89596

Репутация: 21
Отправить сообщение для VIP с помощью ICQ
По умолчанию

Всем привет!

При написании проги возник простой наверное вопрос. Если я передаю в функцию вектор следующим образом

Код:
bool find_line(dict, 0, line_yes){
	int i;
	// некоторые действия
	....
	find_line(dict, i, line_yes);
	return line_yes;
}

int main(){
	bool line_yes;
	vector<one_word> dict(how_much_words);
	find_line(dict, 0, line_yes);
}
То собственно вектор в таком случае передаётся по ссылке или по значению ???

Заранее спасибо !
 
Ответить с цитированием

  #4269  
Старый 12.11.2009, 22:28
Аватар для Irdis
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
Провел на форуме:
1576821

Репутация: 88
Отправить сообщение для Irdis с помощью ICQ
По умолчанию

VIP
пиши подробней,
(хотя бы переменные опиши которые используешь)
 
Ответить с цитированием

  #4270  
Старый 12.11.2009, 22:35
Аватар для VIP
VIP
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме:
89596

Репутация: 21
Отправить сообщение для VIP с помощью ICQ
По умолчанию

Цитата:
Сообщение от Irdis  
VIP
пиши подробней,
(хотя бы переменные опиши которые используешь)
собственно вот полный листинг проги

Код:
#include "stdafx.h"
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <vector>
#include <string.h>
using namespace std;

#define MAX_WORD_LONG (WORD_SIZE_MAX + 2)
#define WORD_SIZE_MIN 3
#define WORD_SIZE_MAX 4

struct one_word {
	char element[MAX_WORD_LONG];
	bool is_use;
};

void print_dict(std::vector<one_word> dict){
	system("cls");
	printf("Dictonary: \n\n");
	for(int i = 0; i < (int)dict.size(); i++){
		printf("%d. ", i + 1);
		for(int j = 0; dict[i].element[j] != '\0'; j++){
			printf("%c", dict[i].element[j]);
		};
		printf("\n");
	}
}

bool find_line(std::vector<one_word> dict, int i, bool line_yes){
	dict[i].is_use = true; 
	printf("\n");
	printf("%d. ", i + 1);
	for(int j = 0; dict[i].element[j] != '\0'; j++){
			printf("%c", dict[i].element[j]);
	};
	int last_latter;
	for(last_latter = 0; dict[i].element[last_latter + 1] != '\0'; last_latter++);
	for(int j = 0; j < (int)dict.size(); j++){
		if (((int)dict[i].element[last_latter] == (int)dict[j].element[0])&&(dict[j].is_use == false)){
			find_line(dict, j, line_yes);
			line_yes = true;
		}
	}
	return line_yes;
}

int main(){
	srand(time(NULL));
	int how_much_words;
	system("cls");
	printf("How much words? \n");
	scanf_s("%d", &how_much_words);
	vector<one_word> dict(how_much_words);

	int word_size = 0;

	system("cls");
	int symbol_of_new_word;
	for(int i = 0; i < how_much_words; i++){
		if (i == 0) printf("Enter words: \n\n", i);
		for(int j = 0; (symbol_of_new_word = getchar()) != ' '; j++){
			if (symbol_of_new_word == 10) symbol_of_new_word = getchar();
			dict[i].element[j] = symbol_of_new_word;
		}
	}

	system("cls");

	print_dict(dict);
	bool line_yes = false;
	for (int i = 0; i < how_much_words*2; i++){
		if (find_line(dict, 0, line_yes)) {
			line_yes = true;
			break;
		}
		else {
			system("cls");
			print_dict(dict);
		}
	}
	if (!line_yes) printf("\nNo suitable lines");
	printf("\n");
	system("pause");
}
интересует как будет передаваться вектор из main() в find_line(std::vector<one_word> dict, int i, bool line_yes) и как он будет передаваться в рекурсии. По ссылке или по значению.

P.S. Гуглил статьи о том как юзать вектор, но такого там не нашёл.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP, PERL, MySQL, JavaScript 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ