В класі stek ви використовуєте шаблонний параметр uniVar, в френдових функціях ви також використовуєте шаблонний параметр який називається точно так же - uniVar. Компілятор схоже не розуміє який з двох uniVar викорстовувати в сигнатурі операторів (uniVar &val, stek<uniVar> &ob), бо для нього це два різні параметри які називаються однаково.

З.І. Можна й так як ви зробили, то повна спеціалізація шаблонної функції. Доречі компілятору в VS2015 такий варіант не подобається.

2

(8 відповідей, залишених у C/C++)

Ахаха, можна робіть.

3

(15 відповідей, залишених у Windows)

Поставте KDE Dolphin, він ставиться і на Windows.

Ем, неправильно виразився, файловий менеджер Dolphin йде в пакеті KDE і окремо без нього не ставиться. Тобто треба ставити весь desktop environment. Ось посилання.
https://sourceforge.net/projects/kde-windows/

4

(15 відповідей, залишених у Windows)

Поставте KDE Dolphin, він ставиться і на Windows.
https://www.kde.org/images/screenshots/dolphin.png

5

(11 відповідей, залишених у C/C++)

ivannamukolaivna3 написав:

помилка: smatrix.h: No such file or directory

Цю частину кода треба зберегти в окремому файлі під назвою 'smatrix.h' в тому ж каталозі де і ваш cpp файл. А з cpp файла її видалити

#ifndef __SMATRIX_H
#define __SMATRIX_H
 
typedef struct Vector
{
unsigned int VectorSize;
double *Data;
} SVector;
 
typedef struct Matrix
{
unsigned int Row;
unsigned int Col;
double **Data;
}SMatrix;
 
 
SVector VectorCreate(int);
void GetVector(SVector*);
void VectorDisplay(SVector);
SVector VectorAdd(SVector,SVector);
SVector VectorDiff(SVector,SVector);
double VectorScalar(SVector,SVector);
SVector VectorMultConst(SVector,double);
void VectorInFile(char*,const SVector);
SVector VectorOutFile(char*);
SVector VectorPtr(SVector v,double(*func)(double));
double Function(double);
void VectorDelete(SVector*);
 
SMatrix MatrixCreate(unsigned int row, unsigned int col);
void GetMatrix(SMatrix*);
void DisplayMatrix(SMatrix);
SMatrix MakeEMatrix(SMatrix);
SMatrix MatrixMMMult(SMatrix,SMatrix);
SMatrix MatrixMMAdd(SMatrix,SMatrix);
SMatrix MatrixMMDiff(SMatrix,SMatrix);
SMatrix MatrixMVMult(SMatrix m,SVector v);
void MatrixDelete(SMatrix*);
SVector VectorCopy(SVector);
SMatrix MatrixCopy(SMatrix);
 
#endif

Це можна скопілити, якщо нема помилок, а от запустити - ні, бо це не програма а модуль.

6

(11 відповідей, залишених у C/C++)

ivannamukolaivna3 написав:

Чи можливо записати цю програму  в іншому вигляді.......

Я не впевнерний на 100%, але вважаю що це можливо.......

7

(2 відповідей, залишених у C/C++)

А метод std::string::find() чим вас не влаштував?
http://www.cplusplus.com/reference/string/string/find/

8

(55 відповідей, залишених у *nix)

rsemfreelancer написав:
Master_Sergius написав:

Почати варто з Ubuntu - найбільше комьюніті, найбільша кількість пакетів, купа форумів, розробляється компанією. Не знаю, як на інших дистрах, але на убунті стім працює бездоганно, можна ще й погратися :)
А далі уже, можна дійсно збирати свій дистр )

Користуюся Убунту з 2011 року.
Як користувач із стажем, раджу розпочати із цієї ОС. (Також можна подивитися в бік Elementery OS - це дистибутив на основі убунту, але дуже гарно виглядає).

Також рекомендую Elementery OS. Вже років 10 на лінуксі, перепробував багато різних дистрибутивів і вже більше року користуюсь Elementery OS. Зупинився на ньому як найбільш зручному та приємному дистрибутиві.

9

(2 відповідей, залишених у Пропоную роботу)

https://github.com/vlotoshko/education/ … lgorithms/
Ось тут в файлах sort.h та sort.cpp написані всі потрібні вам алгоритми сортування, крім порозрядного сортування.
Вам тільки треба:

  • розібратись в коді та запустити програму з різними алгоритмами сортування

  • подивитись що вона виводить та наробити скріншотіків

  • по скріншотікам прийти до висновку що алгоритми merge, quicksort та comb(зненацька) є найбільш оптимальними

  • добавити в курсову код, скріншотіки та висновки

10

(3 відповідей, залишених у C/C++)

Спробуйте добавити '\t', це табуляція.

cout <<DB[i].name << '\t' << DB[i].nation ...

11

(10 відповідей, залишених у C/C++)

Betterthanyou
Ваша структура не є POD (Plain Old Data). Або використовуйте POD, або ж глибоке копіювання (deep copy).

12

(23 відповідей, залишених у *nix)

Я колись юзав lvm2. Дозволяє робити знімки розділів, бекапи і не тільки, рекомендую.

13

(3 відповідей, залишених у C/C++)

2Betterthanyou
Щойно працював з чимось схожим, не знаю як робляться ресурси в Resource-Definition Statements, але як контроли взаємодіть між собою трохи розібрався.

Для обробки повідомлень з інших контролів пишеться окрема процедура, схожа на WndProc. Зверніть увагу сигнатура в нєї трохи інша. Для того щоб оброблювати нею повідомлення від кнопки її треба зареєструвати але, не на кнопку, а на батьківський контрол кнопки(!), бо хоч повідомлення відправляє і кнопка та відправляє вона їх на батьківський контрол. Ниже приклад з поясненням.


Отже в нас є дочірнє вікно - панель (ряд. 85) і кнопка на цій панелі (ряд 102), для якої ця панель є батьківським контролом (ряд. 111). Також у кнопки є свій ідентифікатор (ряд.112) по якому потім можна буде її знайти.
Панель "реєструється" з кастомним WndProc - MyBeautifullWndProc (ряд. 8 ) за допомогою функції SetWindowSubclass (ряд. 99).
Коли якийсь контрол, для якого панель є батьківським контролом, відправляє повідомлення то воно приходить в наш MyBeautifullWndProc. А в MyBeautifullWndProc ми вже знаємо тип повідомлення (ряд. 10), і знаємо хто його відправив (ряд. 15) - відповідно реагуємо.


#include "stdafx.h"
#include <windows.h>
#include <CommCtrl.h>

static const long ID_CHILD_PANEL = 1;
static const long ID_BUTTON_PRESS_ME = 2;

LRESULT CALLBACK MyBeautifullWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData)
{
    switch (msg)
    {
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case ID_BUTTON_PRESS_ME:
            MessageBox(NULL, L"You've pressed the \"Press me\" button??!", L"Wtf...?!", MB_ICONINFORMATION | MB_OK);
            break;
        }
        break;

    case WM_CLOSE:
        DestroyWindow(hwnd);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        break;
    }
    return DefSubclassProc(hwnd, msg, wParam, lParam);
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch (msg)
    {
    case WM_CLOSE:
        DestroyWindow(hwnd);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    // Register wsndow class
    WNDCLASSEX wc;
    wc.cbSize = sizeof(WNDCLASSEX);
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc = WndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wc.lpszMenuName = NULL;
    wc.lpszClassName = L"SOME_CLASS_NAME";
    wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

    RegisterClassEx(&wc);

    
    // Create the main windows
    HWND vMainWindow = CreateWindowEx(
        WS_EX_CLIENTEDGE | WS_EX_CONTROLPARENT,
        L"SOME_CLASS_NAME",
        L"Test app",
        WS_OVERLAPPED | WS_SYSMENU,
        700, 500,
        840, 360,
        NULL,
        NULL,
        hInstance,
        (PVOID)NULL);


    // Create the control panel
    HWND vChildControl = CreateWindowEx(
        WS_EX_WINDOWEDGE | WS_EX_DLGMODALFRAME,
        L"STATIC",
        (PCTSTR)NULL,
        WS_CHILD | WS_VISIBLE,
        0,
        260,
        840,
        50,
        vMainWindow,
        (HMENU)ID_CHILD_PANEL,
        hInstance,
        (LPVOID)NULL);

    SetWindowSubclass(vChildControl, MyBeautifullWndProc, 0, 0);

    // Create the button "Press me!"
    HWND vButtomAtChildWindow = CreateWindowEx(
        0,
        L"BUTTON",
        L"Press me!",
        WS_VISIBLE | WS_CHILD | BS_FLAT,
        705,
        5,
        100,
        30,
        vChildControl,
        (HMENU)ID_BUTTON_PRESS_ME,
        hInstance,
        NULL);

    ShowWindow(vMainWindow, SW_SHOW);


    MSG Msg;
    BOOL ret;
    while ((ret = GetMessage(&Msg, NULL, 0, 0)) != 0)
    {
        if (ret == -1)
        {
            // handle the error and possibly exit
        }
        else
        {
            TranslateMessage(&Msg);
            DispatchMessage(&Msg);
        }
    }
    return (int)Msg.wParam;

}

Надіюсь це буде корисним. Код робочий, тільки треба буде підключити в проект бібліотеку Comctl32.lib

quez написав:
Arete написав:

. Як повинна виглядати ця тема? Не знаю, але якось не так тролити треба тонкіше чи що :)

Такі відповіді легко давати. Як мав би виглядати цей форум? Не знаю, але якось інакше. Як мав би виглядати Інтернет? Не знаю, але якось інакше. Як мало виглядати моє життя? Не знаю, але якось інакше.

Ок, конкретизую, мені як представнику сильної статі і як девелоперу дещо соромно перед дівчиною за деяких учасників цього форуму тому що ці представники відносяться то тієї ж соц групи що і я. Myötähäpeä.

quez написав:
Arete написав:

Третя сторінка теми, а тут один стьоб і 0 конструктиву.

Чому так не повинно бути і як, по-вашому, ця тема мала б виглядати?

Тому що на цьому форумі сидить стадо макак (не за гороскопом) і обкидають гімном новачків які приходять на форум з якимось питанням. Полюбляють похизуватись "поумнічать", а от сказати по ділу - це думати треба, складно. Не завжди так, звичайно, але складається стійке враження що саме так і є. Як повинна виглядати ця тема? Не знаю, але якось не так тролити треба тонкіше чи що :)

З.І. Зрозуміло, розважайтесь :)

221VOLT написав:

урааа!!
відписало декілька людей, а хамство -- лише одне відписало!))
однозначно це вказує на високий інтелектуальний рівень жителів даного форуму --
просто на вулиці - кожне  друге буде хамство))

Інтелектуальний рівень форуму? Не льстіть собі, інтелектуали тут ДАДА і Коала. Всі інші - звичайні люди плюс-мінус. Третя сторінка теми, а тут один стьоб і 0 конструктиву. Інтелектуали блін, на програмістському форумі більша частина повідомлень не пов'язана з програмуванням, а та яка пов'язана це теми - допоможіть написати лабу.

З таким стьобом вам жодна дівчина не дасть, я вже не говорю про якісь стосунки.

P.Y. написав:
Vo_Vik написав:

P.Y. , питання в тому, що якщо хтось хоче вірити в всемогутність Бога, то він запросто може уявити таке визначення всемогутності, при якому парадоксу не існує, а той хто не хоче вірити, легко може заперечувати це базуючись на своєму уявленні про всемогутність.

Визначаючи що-завгодно як-завгодно, можна довести/спростувати будь-що. З цієї точки зору, Бог може бути не лише всемогутнім, а й смугастим, хвостатим і дряпучим (за умови, що я визначу поняття Бог так, як мені зручно).

P.Y., мені здається що ви тільки що описали становлення будь-якої релігії :)

Betterthanyou написав:

Ніхто не можу довести існування, або відсутність Богів.

Я вважаю що відсутність богів, на відміну від існування, доводити непотрібно.
А по поводу безкінечностей, до них хіба можна застосовувати операції порівняння більша/менша. Наскільки я пам'ятаю для них введений термін "потужність". Хоча можу помилятись.

Vo_Vik написав:

ПС: не читаючи вікі хотів пробувати P.Y. тим шляхом який описаний у вікі)

Тепер зрозумів куди ви клонИли, вибачайте що відкрив карти ))

Іншими словами, А = НЕ А. Це суперечить повсякденному досвіду, але нічого не заважає придумати свою логіку, де подібне твердження буде аксіомою.

quez,операція НЕ в цьому випадку є ідемпотентною,тобто не змінює А і мені здається будувати на ній аксіому немає сенсу, бо вона не визначає перетворення А в щось інше..

Схоже на те що ви тут курите щось дуже якісне, заздрю ) Те що описав P.Y. з богом та камінням так і називаєтся - Парадокс всемогутності. І, судячи з цього, абсолютної всемогутності бути не може, як і всемогутніх богів.