Форум программистов, компьютерный форум CyberForum.ru

Помощь с фиксом ошибок - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отсортировать массив по убыванию методом "пузырька" http://www.cyberforum.ru/cpp-beginners/thread867566.html
отсортировать массив по убыванию методом "пузырька". ПОМОГИТЕ с КОДОМ(С++)
C++ Вывести на экран тех людей с одинаковым телефоном Приветствую. Такая задача: дан файл, в котором есть поля - фамилия, инициалы, номер телефона. Отсортировать файл, по алфавиту (по полю фамилия), а потом вывести на экран тех людей, у которых одинаковые телефоны. С сортировкой проблем нет, а вот вывести на экран тех, у которых одинаковые телефоны - есть проблемы. #include <stdio.h> #include <iostream> #include <string.h> typedef struct... http://www.cyberforum.ru/cpp-beginners/thread867550.html
C++ Сортировка массива
Здравствуйте! Вот имею такую задачу: Дано 2 массива a b, написать программу, которая изменяет данные массивы, в соответствии с правилом: наибольшие элементы с массива a b принимаются в качестве нового значения a, а меньшие - в b. Прошу помощи. Вот то, что смог реализовать я: #include <iostream> #include <conio.h> using namespace std; void main() { int b, a, i; for (i=0; i<5; i++)
Определить позицию первого и последнего нуля в одномерном массиве C++
Определить позицию первого и последнего нуля в одномерном массиве, использую цикл For. Например массив состоит из 10307, программа в ответе должна выдать, что первый ноль стоит на второй позиции, а последний ноль стоит на четвертой позиции. Помогите плиз решить данную задачу.
C++ многопточное перемножение матриц http://www.cyberforum.ru/cpp-beginners/thread867511.html
Решил проверить многопоточность при построчном перемножении матриц. Создал программку(проект в аттаче), в которой можно задать размер матриц и кол-во потоков. Проделав несколько измерений на разных машинах(1,2 и 4 ядерных) пришёл неоднозначным результатам. Пытаюсь набросать небольшой отчёт по ходу дела(черновик в аттаче). Вопщем интересует вот-что:ъ 1. Где прирост производительности от 50 до...
C++ Потоки:обработка нажатия клавиш; вычисления,прорисовка Доброго времени суток,господа! Делаю курсовую - игру "змейка",тема изъезженная,да и не об этом сейчас,т.к. функционал рабочий есть. Препод предложил распараллелить программу на 2 потока: 1)обработка нажатия клавиш 2)вычисления,прорисовка. Попытался сделать,но клавиша обрабатывается, если долго и упорно долбить по ней, что у меня вызывает вопросы,т.к. в логе прописывается,что клавиша была... подробнее

Показать сообщение отдельно
Strick
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 12
17.05.2013, 07:55  [ТС]     Помощь с фиксом ошибок
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#include <stdafx.h>
 
#define IS_WIN     //Заккоментить этот дефайн, если для Linux-a
 
#include <stdio.h>
#include <pdh.h>
#include <conio.h>
 
#pragma comment(lib,"pdh.lib")
 
#define PDH_ERROR -1
 
PDH_STATUS pdh_Init (HQUERY &hQuery, HCOUNTER &hCounter);
int GetCPUUsage (HQUERY hQuery, HCOUNTER hCounter, PDH_STATUS &pdhStatus);
void pdh_Uninit (HQUERY hQuery, HCOUNTER hCounter);
void ShowErrorMessage(PDH_STATUS pdhStatus);
void begin();
 
#ifdef IS_WIN
 
    #include <Windows.h>
    #include <stdlib.h>    //Для команды system()
    #define get_computer_name(name,size) GetComputerName(name, size);
 
#else
 
    #include <unistd.h>
    #include <sys/param.h>
 
    int  get_computer_name(char*  name, unsigned long size) 
    {
         return gethostname(name, size);
    }
 
#endif
 
int main(int argc, char* argv[])
 
{
#ifdef IS_WIN
    wchar_t name[255] = { '\0' };
    DWORD dsize = 255;
    LPDWORD size=&dsize;
    get_computer_name(name,size)
    wprintf(L"computer name: %s\n", name);
    system("PAUSE");
#else
   char name[255] = { '\0' };
   get_computer_name(name, 255);
   printf("computer name: %s\n", name);
   getchar();
#endif
   return 0;
 
}
 
void main(void)
{
    Sleep(1000);
    begin();
    printf(TEXT("Press any key to continue")); 
    while (!_getch());
}
 
void begin()
{
    PDH_STATUS  pdhStatus      = 0;
 
    HQUERY hQuery;
    HQUERY hCounter;
    int iUsage = 0;
    pdhStatus = pdh_Init(hQuery, hCounter);
 
    if ( pdhStatus == ERROR_SUCCESS )
    {
       while (GetKeyState(VK_ESCAPE) >= 0)
        {
            iUsage = GetCPUUsage(hQuery, hCounter, pdhStatus);
 
            if (iUsage != PDH_ERROR)
                printf("%3i%%\r\n", iUsage);
            else
            ShowErrorMessage(pdhStatus);
        }
        pdh_Uninit(hQuery, hCounter);
    }
    else
        ShowErrorMessage(pdhStatus);
}
 
void ShowErrorMessage(PDH_STATUS pdhStatus)
{
    LPSTR szMessage = NULL;
 
    FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
                    FORMAT_MESSAGE_FROM_HMODULE,
                    GetModuleHandle("PDH.DLL"), pdhStatus,
                    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
                    szMessage, 0, NULL);
    printf("Error №%i:  %s\r\n", pdhStatus, szMessage);
    LocalFree(szMessage);
}
 
PDH_STATUS pdh_Init(HQUERY &hQuery, HCOUNTER &hCounter)
{
    PDH_STATUS  pdhResult   = 0;
    TCHAR       szCounterPath[1024];
    DWORD       dwPathSize  = 1024;
    PDH_COUNTER_PATH_ELEMENTS pe;
    DWORD       dwType      = 0;
    
    pdhResult = PdhOpenQuery( NULL, 0, &hQuery ); 
    if ( pdhResult != ERROR_SUCCESS )
        return pdhResult;
 
    pe.szMachineName     = 0l;
    pe.szObjectName      = "Processor";
    pe.szInstanceName    = "_Total";
    pe.szParentInstance  = NULL;
    pe.dwInstanceIndex   = 0;
    pe.szCounterName     = "% Processor Time";
 
    pdhResult = PdhMakeCounterPath(&pe, szCounterPath, &dwPathSize, 0);
    if (pdhResult != ERROR_SUCCESS) 
        return pdhResult;
    pdhResult = PdhAddCounter(hQuery, szCounterPath, 0, &hCounter);
    if (pdhResult != ERROR_SUCCESS)
        return pdhResult;
    return pdhResult;
}
 
int GetCPUUsage(HQUERY hQuery, HCOUNTER hCounter, PDH_STATUS &pdhStatus)
{
    DWORD       dwType      = 0;
    pdhStatus = PdhCollectQueryData(hQuery);
    if (pdhStatus != ERROR_SUCCESS)
        return PDH_ERROR;
    _PDH_FMT_COUNTERVALUE pfci;
    ZeroMemory(&pfci, sizeof(pfci));
    pdhStatus = PdhGetFormattedCounterValue( hCounter, PDH_FMT_DOUBLE, &dwType, &pfci); 
    if (pdhStatus != ERROR_SUCCESS) 
        return PDH_ERROR;
    return (int)pfci.doubleValue;
} 
 
void pdh_Uninit(HQUERY hQuery, HCOUNTER hCounter)
{
    PdhRemoveCounter(hCounter); 
    PdhCloseQuery(hQuery);
}
c:\users\admin\desktop\consoleapplication3\consoleapplication3\consoleapplication3.cpp(44): error C2664: GetComputerNameA: невозможно преобразовать параметр 1 из "wchar_t [255]" в "LPSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\admin\desktop\consoleapplication3\consoleapplication3\consoleapplication3.cpp(58): error C2731: main: функция не может быть перегружена
1> c:\users\admin\desktop\consoleapplication3\consoleapplication3\consoleapplication3.cpp(57): см. объявление "main
Удалять код не стал.
 
Текущее время: 14:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru