HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3421  
Старый 03.08.2009, 19:37
__mad
Участник форума
Регистрация: 04.11.2007
Сообщений: 103
С нами: 9745696

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

> пруфлинк?

погуглил, и что то нечего внятного не нашел. Возможно я и ошибся в своем утверждение, но вот то что для большинства (если не для всех) POSIX функций, есть аналоги в стандартной библиотеки (crt, stl) это факт.

Да и к тому же проблема mr.The решена, так что считаю что вопрос исчерпан.

ps: Хотя да, POSIX совместимость гарантирует, то, что приложение без перекомпиляции будет работать под _всеми_ POSIX совместимыми системами.
 
Ответить с цитированием

  #3422  
Старый 03.08.2009, 19:39
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,205
С нами: 10016425

Репутация: 1257


По умолчанию

холивар детектед. способ __mad'а замечательно работает под виндой, компилятор mingw gcc. всем спасибо.

осталось только _ttps://forum.antichat.ru/showpost.php?p=1424458&postcount=3402
 
Ответить с цитированием

  #3423  
Старый 06.08.2009, 02:25
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
С нами: 9332069

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

Доброе время суток.
Возникла проблема: не пишет в конец массива diceArray. Даже не знаю в чем проблема. Ошибка в процедуре initArray в последней комбинации(6,6,6,6,6,6).

Код:
#include <algorithm>
#include <fstream>
#include <cstdlib>
#include <vector>
#include <iostream>

using namespace std;

void initArray(int **array); // заполнение массива нужными числами
bool isEnd(int *array, const int size);// признак окончания заполнения
void normalize(int *array, const int size);// проверка вхождения в диапозон
void calculateSums(int **array, const int xSize, const int ySize);// подсчет общего количества сумм
int currentSum(int *array, const int xSize);// сумма строки

//----main()

int main(int argc, char *argv[])
{
    const int ySize = 6 * 6 * 6 * 6 * 6 * 6; // количество вариантов
    const int xSize = 6;                     // всего кубиков

    int **diceArray = new int*[ySize];

    for (int i = 0;i < ySize;++i)
        diceArray[i] = new int[xSize];    

    initArray(diceArray);
    calculateSums(diceArray, xSize, ySize);

    for (int i = 0;i < ySize;++i)
        delete []diceArray[i];

    delete []diceArray;
    diceArray = NULL;

    system("pause");
    return 0;
}

//----initArray()

void initArray(int **array)
{
    int combination[6] = {1,1,1,1,1,1};

    for (int i = 0;!isEnd(combination, 6);i++)
    {
        copy(combination, combination+6, array[i]);
        combination[5]++;
        normalize(combination, 6);        
    }
}

//----isEnd()

bool isEnd(int *array, const int size)
{
    if (count(array, array+size, 6) == 6)
        return true;
    else
        return false;
}

//----normalize()

void normalize(int *array, const int size)
{
    for (int i = size - 1;i >= 0;i--)
    {
        if (array[i] == 7)
        {
            array[i] = 1;
            array[i-1]++;
        }
    }
}

//----calculateSums()

void calculateSums(int **array, const int xSize, const int ySize)
{
    vector<int> sums;
    int current;
    int counter = 0;
    fstream file("out.txt", ios_base::out);

    if (!file)
    {
        cout << "shit happened";
        exit(1);
    }

    for (int i = 0;i < ySize;++i)
    {
        current = currentSum(array[i], xSize);
        for (int j = 0;j < ySize;++j)
            if (current == currentSum(array[j], xSize))
                counter++;
        sums.push_back(counter);

        for (int k = 0;k < xSize;++k)
        {
            file << array[i][k];
        }
        file << ":" << counter << endl;
        counter = 0;
    }
    
    vector<int>::iterator iter = max_element(sums.begin(), sums.end());
    file << "\n\nHighest combination is => ";
    file << *iter;
    file.close();
}

int currentSum(int *array, int xSize)
{
    int current = 0;
    for (int i = 0;i < xSize;++i)
        current += array[i];

    return current;
}
 
Ответить с цитированием

  #3424  
Старый 06.08.2009, 02:35
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
С нами: 9332069

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

Цитата:
Сообщение от mr.The  
средствами с++ нужно выполнить команду в "командной строке" и получить её результат. как? перенаправление в файл не предлагать.
use system(const char* command);
 
Ответить с цитированием

  #3425  
Старый 06.08.2009, 05:45
Antikvazar
Новичок
Регистрация: 22.03.2009
Сообщений: 13
С нами: 9019849

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

Нет все таки не разобрался. С помощью какого метода можно получить список открытых окон? ИМенно окон а не процессов!

Последний раз редактировалось Antikvazar; 06.08.2009 в 13:33..
 
Ответить с цитированием

  #3426  
Старый 06.08.2009, 10:14
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Классы... компоненты... - недоверяю.
WinAPI и тока ВыньАпи
Код:
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>


int main(int argc, char* argv[])
{
	HANDLE hSnap;
	PROCESSENTRY32 proc;
 
	hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
	if (!hSnap) 
	{
		printf("ERROR");
	}
	else
	{
		if (Process32First(hSnap, &proc))
		{
			printf("%s\n", proc.szExeFile);
			while (Process32Next(hSnap, &proc)) 
			{
				printf("PID: %i\t NAME: %s\n",proc.th32ProcessID, proc.szExeFile);
			}
		}
	}
	return 0;
}
 
Ответить с цитированием

  #3427  
Старый 06.08.2009, 11:01
[XAOC]
Новичок
Регистрация: 06.10.2008
Сообщений: 3
С нами: 9261211

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

Здравствуйте

У меня возник вопрос, каким образом на C организовать быстрое удаление строки из файла ?, ну как это например сделано во многих брутах(очищение source файла), веть перезаписывать каждый раз файл(а он может достигать внушительных размеров) не есть гуд.
 
Ответить с цитированием

  #3428  
Старый 06.08.2009, 13:52
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

Цитата:
Сообщение от Antikvazar  
Нет все таки не разобрался. С помощью какого метода можно получить список открытых окон? ИМенно окон а не процессов!
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
 
Ответить с цитированием

  #3429  
Старый 06.08.2009, 14:31
Antikvazar
Новичок
Регистрация: 22.03.2009
Сообщений: 13
С нами: 9019849

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

спасибо раскал, но у меня еще специфичнее задача нужно вытаскивать данные из окна внутри которого есть список(чат\textbox) который обновляется такое вообще возможно сделать?
 
Ответить с цитированием

  #3430  
Старый 06.08.2009, 14:36
new-sl
Познающий
Регистрация: 27.05.2009
Сообщений: 44
С нами: 8925577

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

как написать свои собственыи ICQ клент на с++ ? искал в гоогле нашол тока пример на делфи а мине надо иммено с++ хачу написат прогу каторая отвылает сообшения и получает их конзолную бес винапи простенкую ест у каво какие иди?
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT ™ © 2001- Antichat Kft.