Ну, не зовсім перша, але під windows перша, якщо не рахувати контрольні роботи з першого курсу вуза. Програма ця потрібна для представлення зображення у послідовність бітів яку потім контролер відобразить на якомусь графічному дисплеї або світлодіодній матриці. Нічого складного і особливого, проте користь від неї є.
http://myinoutblog.blogspot.com/2017/09/bitpix.html?m=1
До речі можливо комусь буде в нагоді)

2

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

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

3

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

Я не проти критики, проте інвалід це образливе слово.
Якщо я на даний момент погано володію англійською, то мені що, по вашому все залишити поки не вивчу англійську мову? Я її почав вчити але це не за кілька місяців вивчається.
Якби всі були такі освідченні та розумні то й форумів не існувало б, форуми для того і створенні щоб люди обмінювалися, знаннями, досвідом та іншою інформацією, а не лише вказували хто який інвалід.

4

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

Доброго дня, повстала така задача зробити програматор для мікросхем пам`яті bios. Те що мені вдалося знайти в інтернеті - так це те що є частина мікросхем які програмуються через spi інтерфейс, він досить популярний і я його трохи знаю, а інша частина має інтерфейс lpc на який щось україномовне чи російськомовне знайти не вдалось(можливо погано шукав). Є наступні питання:
1) чи є в когось україномовна чи російськомовна документація на lpc протокол/інтерфейс?
2) мікросхеми пам`яті bios зашиваються так само як і будь які інші тупо байт в байт по порядку як записано в hex-і?
3) spi та lpc це єдині інтерфейси чи є ще якісь?

5

(15 відповідей, залишених у Системне програмування)

в мене є такий ряд питань,не запитуйте нащо і чому, це не виліковне :D
1) якщо допустити що программа на Сі запущена в режимі реального часу, то чи можу я викликати преривання біосу просто записав у відповідні адресса потрібну інформацію? наскільки правильно я зрозумів всі ці преривання знаходяться у певному відділу пам’яті.
2) чи є реалізація Сі яка дозволяє звертатись до регістрів процессору,напряму ссилатись на адрессу оперативної пам’яті та створювати com программи для різних режимів 16, 32, 64бита? можливо безглузде запитання, але якщо взяти микропроцессори то там можна

всі ці запитання в мене виникли коли мені доказували що зараз на Сі можно написати повністью ОС, за виключеням завантажувача. Тепер мені не дає спокою думка, як написати щось на Сі щоб запустилось без операційної системи. Можливо навіть в майбутньому свою операційну систему зробить, нехай вона буде дуже примітивна, але все одно приємно буде. Чи може Сі в цих задачах замінити Ассемблер? колись хотів вивчити і його, але мене відлякувало що може зміниться архітектура і все що я знаю вже  буде не потрібне, та й стільки в нього діалектів що не знаешь на якому краще писать.

6

(15 відповідей, залишених у Вибір подальшого шляху)

Запитаю в цій темі. Чи буде користь від вивчення python? До цього вчив c/c++, але використовував лише під МК, під комп'ютери важкувато писати на них

7

(388 відповідей, залишених у Алгоритми та структури даних, технології)

Мова програмування будь яка,  про таку можливість в c++ не знав, писав свій варіант алгоритму

8

(388 відповідей, залишених у Алгоритми та структури даних, технології)

Люблю подібні задачки, шкода що нових нема, то ж запропоную свою, мені її задавали на першому курсі на контрольну роботу. можливо комусь вона здаватиметься надто простою та типовою але мені вона сподобалась.
Є ряд натуральних чисел, від 1 до n(як показує практика n величиною  більше 10-12 краще не обирати), нехай це будуть числа від 1 до 5. вивести на консоль всі можливі комбінації. числа та комбінації не повторюються.
тобто наприклад

12345
14523
54312
і так далі
11234 буде невірним результатом
12345
12345 також буде невірним результатом якщо комбінація десь повторюватиметься

цей алгоритм можна використовувати не тільки для чисел.

а як щодо php? чи на С# сайты також популярні? чи буде сенс в такому випадку ще вивчити адміністрування скажімо linux або windows і що з них буде більш затребуваним на ринку праці?

А якщо подивитися в сторону web-розробки, наскільки воно перспективно, та на які мови програмування  і технології робити акцент?  Які плюси та мінуси в даному напрямку є? Які підводні камені можуть спіткати мене?

Torbins написав:

2andnot
За прогнозами через кілька років великої популярності набуде Internet of Things. Ваш напрямок розвитку дуже добре лягає на цей тренд. .

Можливо буде мати сенс вивчити в такому випадку ще додатково java або С#? мені Сішний синтаксис більш зручніший

читайте Таненбаума "Операційні системи" та штудіюйте чисті ся

за це дякую, корисна буде інформація, Сі трохи знаю, з них починав, та чим Сі краще за С++?


Кому краще? Вашим батькам чи вам чи вашому роботодавцю?

це моє рішення, батьки були проти, в мене освіта ПТУ слюсар 3 розряду, зазвичай роботодавці воротили носом коли бачили що в мене вишки нема і зовсім розвертали мене на 180 градусів коли бачили що слюсар за фахом. я тоді питався влаштуватись на контент-менеджера(розміщувати інфу про товари(їжа, ліки, інструмент) та інколи робити корегування HTML та CSS), на той момент знання HTML CSS були на достатньому рівні щоб робити елементарну верстку, тим паче що ще знав php(на базовому рівні) та трохи javascript. Вони зазвичай навіть не питали що я знаю та що вмію, "так, що тут у нас? Слюсар? ПТУ? так чого ж ви до нашої компанії завітали? ваше місце на заводі за верстаком"


Можете зараз відписатися по знанню математики

я не приховую, я її не знаю. знаю на рівні 5-6 класс. Але ж це не означає що я залишусь на такому рівні знань, я її вивчаю самостійно.

13

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

Вінегрет  :)
як координати точок знаходити знаєте? Бо я за математикою поки що не дуже *SCRATCH*

не заперечую що освіта у нас не найкраща, проте краще коли вона є, ніж коли її немає. По крайній мірі я програмування та алгоритми не купляв і купувати не буду. Що б ви мені порадили? Мені здається що це не перспективний шлях, проте душа лежить до чогось такого як, процесори, драйвера, контролери, електроніка, хоча десктоп теж цікавий, але якщо щось графічне наприклад ігри то навряд чи таке потягну. Взагалі з чим реально має справу програміст на роботі, ось наприклад контролери або прикладна программа, кожен пише окремі модулі або один і все сам? Що можуть доручити программісту С++ який тільки розпочав свою кар'еру? Які до нього можуть бути вимоги?

Продовжу тему, бо сам міркую над цим питанням.
Мені 27 років, закінчив перший курс  інституту по напряму "системне програмування". Раніше багато мов пробував вивчать, колись навіть вдалось сайт створити за допомогою php, зараз я зупинився на C++(він мені більше подобається), у вільний час інколи программую мікроконтроллери  atmega, arduino нещодавно пробував з stm32 працювати(поки не дуже успішно через знання англійської). Дивився вакансії програмістів і розумію що те чим я весь час займався, якась дитяча забавка, і що по суті справи я нічого толком і не знаю. Зараз я стою перед вибором залізо та контролери чи десктоп чи веб. Що обрати, що вчити, як правильно розвиватись, чи не пізно я почав здобувати вищу освіту в цій сфері? Хочеться не просто штани 4,5 року протерти, а щоб потім влаштуватись на роботу, не так важливо де і за скільки, важливо саме програмістом.

Прошу вибачити за дурне питання, бо я тільки вчусь. я правильно зрозумів що для того щоб перевантажити оператор, не обов’язково щоб він був функцією-членом классу або дружньою функцією классу?

Поясніть будь-ласка, що відбуваеться тут?

bool operator >> (uniVar &val, stek<uniVar> &ob)

stek<uniVar>

навіщо біля классу stek йде запис <uniVar>, якщо перед описом классу була інструкція

template <typename uniVar>

Помилка вирішилась завдяки додаванню

<uniVar>

в дружню функцію при об’явленні її в тілі классу, тобто так:

friend bool operator << <uniVar>(uniVar &val, stek &ob);     
    friend bool operator >> <uniVar>(uniVar &val, stek &ob);

тепер код має такий вигляд

#include <iostream>
#define STEK_SIZE 512
using namespace std;




template <typename uniVar>
class stek{
private:
    uniVar st[STEK_SIZE];
    int pos;
public:
    bool operator << (uniVar &val){
        if(pos+1 < STEK_SIZE){
            st[++pos] = val;
            return true;
        }else{
            return false;
        }
    }

    bool operator >> (uniVar &val){
        if(pos > -1){
            val = st[pos--];
            return true;
        }else{
            return false;
        }
    } 
    friend bool operator << <uniVar>(uniVar &val, stek &ob);     
    friend bool operator >> <uniVar>(uniVar &val, stek &ob);
    stek(){
        pos = -1;    
    }
};

template <typename uniVar>          
bool operator >> (uniVar &val, stek &ob){
        if(ob.pos+1 < STEK_SIZE){
            ob.st[++ob.pos] = val;
            return true;
        }else{
            return false;
        }
}

template <typename uniVar>          
bool operator << (uniVar &val, stek &ob){
        if(ob.pos > -1){
            val = ob.st[ob.pos--];
            return true;
        }else{
            return false;
        }
}


int main(){
char sym;    
char buffer[] = "hello world";
    stek<char> Stek;

    Stek << buffer[10];
    Stek << buffer[9];
    Stek << buffer[8];
    Stek << buffer[7];
    Stek << buffer[6];
    Stek << buffer[5];
    Stek << buffer[4];
    Stek << buffer[3];
    Stek << buffer[2];
    buffer[1] >> Stek;
    buffer[0] >> Stek;
    while(Stek >> sym){
        cout << sym;
    }
    cout << endl;
    cout << "C++ work" << endl;
    return 0;
}

дякую всім хто допомагав :)

#include <iostream>
#define STEK_SIZE 512
using namespace std;




template <typename uniVar>
class stek{
private:
    uniVar st[STEK_SIZE];
    int pos;
public:
    bool operator << (uniVar &val){
        if(pos+1 < STEK_SIZE){
            st[++pos] = val;
            return true;
        }else{
            return false;
        }
    }

    bool operator >> (uniVar &val){
        if(pos > -1){
            val = st[pos--];
            return true;
        }else{
            return false;
        }
    }
    template <typename uniVar>  
    friend bool operator << (uniVar &val, stek<uniVar> &ob);
    template <typename uniVar>      
    friend bool operator >> (uniVar &val, stek<uniVar> &ob);
    stek(){
        pos = -1;    
    }
};

template <typename uniVar>          
bool operator >> (uniVar &val, stek<uniVar> &ob){
        if(ob.pos+1 < STEK_SIZE){
            ob.st[++ob.pos] = val;
            return true;
        }else{
            return false;
        }
}

template <typename uniVar>          
bool operator << (uniVar &val, stek<uniVar> &ob){
        if(ob.pos > -1){
            val = ob.st[ob.pos--];
            return true;
        }else{
            return false;
        }
}


int main(){
char sym;    
char buffer[] = "hello world";
    stek<char> Stek;

    Stek << buffer[10];
    Stek << buffer[9];
    Stek << buffer[8];
    Stek << buffer[7];
    Stek << buffer[6];
    Stek << buffer[5];
    Stek << buffer[4];
    Stek << buffer[3];
    Stek << buffer[2];
    buffer[1] >> Stek;
    buffer[0] >> Stek;
    while(Stek >> sym){
        cout << sym;
    }
    cout << endl;
    cout << "C++ work" << endl;
    return 0;
}

Компілятор пише:

boris@eldorado:~/Desktop$ g++ main.cpp -o main.com
main.cpp:31:12: error: declaration of ‘class uniVar’
main.cpp:8:11: error:  shadows template parm ‘class uniVar’
main.cpp:33:12: error: declaration of ‘class uniVar’
main.cpp:8:11: error:  shadows template parm ‘class uniVar’
boris@eldorado:~/Desktop$

Невирівняний тому що писав в "блокноті".
Зробив, як Ви писали, все одно не хоче.

#include <iostream>
#define STEK_SIZE 512
using namespace std;




template <typename uniVar>
class stek{
private:
    uniVar st[STEK_SIZE];
    int pos;
public:
    bool operator << (uniVar &val){
        if(pos+1 < STEK_SIZE){
            st[++pos] = val;
            return true;
        }else{
            return false;
        }
    }

    bool operator >> (uniVar &val){
        if(pos > -1){
            val = st[pos--];
            return true;
        }else{
            return false;
        }
    }
    
    friend bool operator << (uniVar &val, stek &ob);
    friend bool operator >> (uniVar &val, stek &ob);
    stek(){
        pos = -1;    
    }
};

template <typename uniVar>          
bool operator >> (uniVar &val, stek<uniVar> &ob){
        if(ob.pos+1 < STEK_SIZE){
            ob.st[++ob.pos] = val;
            return true;
        }else{
            return false;
        }
}

template <typename uniVar>          
bool operator >> (uniVar &val, stek<uniVar> &ob){
        if(ob.pos > -1){
            val = ob.st[ob.pos--];
            return true;
        }else{
            return false;
        }
}


int main(){
char sym;    
char buffer[] = "hello world";
    stek<char> Stek;

    Stek << buffer[10];
    Stek << buffer[9];
    Stek << buffer[8];
    Stek << buffer[7];
    Stek << buffer[6];
    Stek << buffer[5];
    Stek << buffer[4];
    Stek << buffer[3];
    Stek << buffer[2];
    buffer[1] >> Stek;
    buffer[0] >> Stek;
    while(Stek >> sym){
        cout << sym;
    }
    cout << endl;
    cout << "C++ work" << endl;
    return 0;
}

Ось що пише компілятор

boris@eldorado:~/Desktop$ g++ main.cpp -o main.com
main.cpp:32:48: warning: friend declaration ‘bool operator<<(uniVar&, stek<uniVar>&)’ declares a non-template function [-Wnon-template-friend]
main.cpp:32:48: note: (if this is not what you intended, make sure the function template has already been declared and add <> after the function name here)
main.cpp:33:48: warning: friend declaration ‘bool operator>>(uniVar&, stek<uniVar>&)’ declares a non-template function [-Wnon-template-friend]
main.cpp:50:6: error: redefinition of ‘template<class uniVar> bool operator>>(uniVar&, stek<uniVar>&)’
main.cpp:40:6: error: ‘template<class uniVar> bool operator>>(uniVar&, stek<uniVar>&)’ previously declared here
boris@eldorado:~/Desktop$

Всім привіт, вивчаю С++, для вправи вирішив написати клас який реалізує роботу "стеку". Зіткнувся з такою проблемою. Якщо я залишаю все як є, але прибираю шаблоний тип uniVar(замість нього вказую char) все працює. Якщо я прибираю дружні функції і залишаю шаблоний тип uniVar також все працює. Але якщо я використовую і те і інше в мене виникає помилка яку усунути я не знаю як. Допоможіть студенту у вивчені C++ :)

#include <iostream>
#define STEK_SIZE 512
using namespace std;




template <typename uniVar>
class stek{
private:
    uniVar st[STEK_SIZE];
    int pos;
public:
    bool operator << (uniVar &val){
        if(pos+1 < STEK_SIZE){
            st[++pos] = val;
            return true;
        }else{
            return false;
        }
    }

    bool operator >> (uniVar &val){
        if(pos > -1){
            val = st[pos--];
            return true;
        }else{
            return false;
        }
    }
    
    friend bool operator << (uniVar &val, stek &ob);
    friend bool operator >> (uniVar &val, stek &ob);
    stek(){
        pos = -1;    
    }
};


bool operator >> (uniVar &val, stek &ob){
        if(ob.pos+1 < STEK_SIZE){
            ob.st[++ob.pos] = val;
            return true;
        }else{
            return false;
        }
}


bool operator << (uniVar &val, stek &ob){
        if(ob.pos > -1){
            val = ob.st[ob.pos--];
            return true;
        }else{
            return false;
        }
}


int main(){
char sym;    
char buffer[] = "hello world";
    stek<char> Stek;

    Stek << buffer[10];
    Stek << buffer[9];
    Stek << buffer[8];
    Stek << buffer[7];
    Stek << buffer[6];
    Stek << buffer[5];
    Stek << buffer[4];
    Stek << buffer[3];
    Stek << buffer[2];
    buffer[1] >> Stek;
    buffer[0] >> Stek;
    while(Stek >> sym){
        cout << sym;
    }
    cout << endl;
    cout << "C++ work" << endl;
    return 0;
}