Заходи заходи
Имя

Пароль



Регистрация
Сейчас в чате 0
никого нет
Их боялся Флинт
Модеры:
Orkana Джа Cyber_Ghost zl0l

Админы:
del Tёмный DreamX MoRS
Бесполезные линки

Valid XHTML 1.0 Transitional

MoRS: С++
MoRS
pic
02 авг 2006 19:16
Изменен 05 окт 2018 05:30
Редактировать
Ссылка на этот пост
Кому есть что сюда писать - пишите
 
UPD [Tёмный]:
сорри, что влезаю в топикстарт,
но, возможно, это следует разместить в начале.

 
Перспективно ли изучать C++?
 
#ASKSHIFU №59

 
Fph0EniX
pic
08 авг 2006 21:15

Редактировать
Ссылка на этот пост

Исходы на VC++ есть нормальные? Чтобы для начала сгодились... давно хочу заняться изучением сего... например, исходник оконной проги "Таблица умножения"... чтобы понять, как организуется работа с элементами управления в MFC или в API
Tёмный
pic
13 сен 2017 00:19

Редактировать
Ссылка на этот пост
Так пойдёт? = )
 
C++

# include <stdio.h>
 
void main (void){
        printf("Hello, World\n");
        }
 

Text

$ gcc -o Hello Hello.c
$ ./Hello
Hello, World
$
 
MoRS
pic
21 сен 2017 19:42
Изменен 21 сен 2017 19:43
Редактировать
Ссылка на этот пост
закрывающая скобка не по фэншуй)
Tёмный
pic
23 сен 2017 11:50

Редактировать
Ссылка на этот пост
да, кстати,
я хотел бы, чтобы вы мне подсказывали и про кодестайл, как правильно по фэншую.
 
просто нам препод сказал, что кодестайл вы как-нибудь сами типа,
а на первых порах, чтобы было наглядно, мы с вами будем писать вообще вот так:
 
C++

void main (void)
        {
        printf("Hello, World\n");
        }
 

Tёмный
pic
06 окт 2017 20:00
Изменен 29 дек 2017 23:31
Редактировать
Ссылка на этот пост

Начал смотреть годный, на мой взгляд, курс лекций.
Полностью погрузиться в тему пока не могу, увы. 2-3 лекции + немного практики в неделю. Больше пока никак.
Закину ссылки сюда, чтоб не потерялось.
Да и, вдруг, кому пригодится.
 

Информатика на С++

Курс лекций. 2016 г.
лектор: Хирьянов Тимофей Фёдорович (2016)
 
курс видеолекций

Tёмный
pic
06 окт 2017 21:02
Изменен 12 окт 2017 22:47
Редактировать
Ссылка на этот пост
"культурный" хело ворд.
 
в качестве краткого примера-памятки мультифайлового програмирования
(краткая выдержка из наигоднейшей публикации на OpenNet.ru Программирование в Linux с нуля, по которой я, собсно, и делал первые шажки)
 
сделано на "чистом" Си, без плюсов
 
в одну дирректорию лепим файлы:
hello.c
hello.h
main.c
Makefile
 
C

/* hello.c */
#include <stdio.h>
 
void print_hello (void)
{
        printf ("Hello World\n");
}
 

C

/* hello.h */
 
void print_hello (void);
 
 

C

/* main.c */
#include "hello.h"
 
int main (void)
{
        print_hello ();
}
 

C

# Makefile for Hello World project
 
hello: main.o hello.o
        gcc -o hello main.o hello.o
 
main.o: main.c
        gcc -c main.c
 
hello.o: hello.c
        gcc -c hello.c
 
clean:
        rm -f *.o hello
 
 

далее в консольке (кое-что лишнее, и служит чисто для демонстрации)
 
сборка и запуск
bash
$ ls
hello.c  hello.h  main.c  Makefile
$ make
gcc -c main.c
gcc -c hello.c
gcc -o hello main.o hello.o
$ ls
hello  hello.c  hello.h  hello.o  main.c  main.o  Makefile
$ ./hello
Hello World

посмотреть объектный файл
bash
$ nm main.o
0000000000000000 T main
                 U print_hello

очистить проект
bash
$ make clean
rm -f *.o hello
$ ls
hello.c  hello.h  main.c  Makefile
Tёмный
pic
29 ноя 2017 09:26
Изменен 11 дек 2017 09:56
Редактировать
Ссылка на этот пост
Задачка

Создать новый проект (по подробным инструкциям) в котором будет реализован класс очереди (Queue).
Запустить программу на выполнение. Убедиться, что она работает, ведёт себя правильно.

Element.h

 
Queue.h

 
Queue.cpp

 
main-queue.cpp

 
Makefile

 
Bash
$ ls
Element.h  main-queue.cpp  Makefile  Queue.cpp  Queue.h
$ make
g++ -c main-queue.cpp
g++ -c Queue.cpp
g++ -o queueapp main-queue.o Queue.o
$ ls
Element.h  main-queue.cpp  main-queue.o  Makefile  queueapp  Queue.cpp  Queue.h  Queue.o
$ ./queueapp
Element 20 added to queue
Element 30 added to queue
Element 10 added to queue
Element 50 added to queue
Element 40 added to queue
20, 30, 10, 50, 40,
Element 20 removed from queue
Element 30 removed from queue
10, 50, 40,

Вроде работает.
Вроде работает как просили.
Делал "по инструкции" из методички.
Замечания есть? Может что-то не так, или улучшить?
 
upd: ps комменты разъехались. в исходнике ровным столбцом идут. а тут не получилось выровнять, даже пробелами.
ну и ладно, не суть важно.
 
upd1: к предыдущему ps, оно не только тут разъезжается. Следует ещё раз переосмыслить форматирование табами и пробелами.
Tёмный
pic
29 ноя 2017 10:21

Редактировать
Ссылка на этот пост
... а вот тут у меня пока не получилось.
понимаю, что как-то совсем просто должно быть,
а вот как именно - чёт туплю, не соображу.
 
Задачка
...
15. Создайте новый проект, в котором будет реализован класс стека (Stack)
вместо класса очереди. Создайте основную программу и покажите, что
класс работает.
16. Выполните индивидуальное задание.
...
 
Индивидуальные задания:
1. Реализуйте в классе Stack метод, который выводит на экран сумму всех
элементов стека.
...
3. Реализуйте в классе Stack метод, который выводит на экран
произведение всех элементов.
...
9. Реализуйте в классе Stack метод, который выводит сумму всех
нечетных элементов
стека.
...

Element.h

 
Stack.h

 
Stack.cpp

 
main-stack.cpp

 
Makefile

 
Bash
$ ls
Element.h  main-stack.cpp  Makefile  Stack.cpp  Stack.h
 
$ make
g++ -c main-stack.cpp
g++ -c Stack.cpp
g++ -o stackapp main-stack.o Stack.o
 
$ ls
Element.h  main-stack.cpp  main-stack.o  Makefile  stackapp  Stack.cpp  Stack.h  Stack.o
 
$ ./stackapp
Element 20 added to Stack [count= 1 ]
Element 30 added to Stack [count= 2 ]
Element 10 added to Stack [count= 3 ]
Element 50 added to Stack [count= 4 ]
Element 40 added to Stack [count= 5 ]
20, 30, 10, 50, 40,
[Инд.задание 1] Сумма всех элементов равна 150
[Инд.задание 3] Произведение всех элементов равно 12000000
[Инд.задание 9] Сумма нечётных элементов равна 0
Element 40 removed from Stack [count= 4 ]
Element 50 removed from Stack [count= 3 ]
20, 30, 10,
[Инд.задание 1] Сумма всех элементов равна 60
[Инд.задание 3] Произведение всех элементов равно 6000
[Инд.задание 9] Сумма нечётных элементов равна 0

Сумму и произведение всех элементов - это элементарно как бы, это чуток допиленный метод принт.
А вот как обратиться к некоторым избранным элементам полученного стека - чёта не соображу (((
Tёмный
pic
29 ноя 2017 11:00

Редактировать
Ссылка на этот пост
например, если я тупо топорно в лоб пытаюсь сделать "следующий следующий"
 
C++

        while(e != 0)
                {
                summnechet += e->value;
                e = e->next;
                e = e->next;
               
                }
 

то он выдаёт ошибку
 
Bash

 $ ./stackapp
Element 20 added to Stack [count= 1 ]
Element 30 added to Stack [count= 2 ]
Element 10 added to Stack [count= 3 ]
Element 50 added to Stack [count= 4 ]
Element 40 added to Stack [count= 5 ]
20, 30, 10, 50, 40,
[Инд.задание 1] Сумма всех элементов равна 150
[Инд.задание 3] Произведение всех элементов равно 12000000
Ошибка сегментирования
 

Tёмный
pic
29 ноя 2017 11:09
Изменен 29 ноя 2017 11:21
Редактировать
Ссылка на этот пост
кстати, параллельный вопрос: где посмотреть исходники стандартных (и не очень) библиотек с/с++ ?
 
например, хочется посмотреть внутрь библиотеки <stack>,
говорят, там есть метод peek() помощью которого можно обратиться к N элементу стека (от вершины).
 
вот хотел посмотреть как обратиться к нужному элементу.
это по-сути всё что мне надо. дальше можно будет циклом пройтись по нужным мне элементам.
 
UPD
в
/usr/include/c++/
но я не асилил = )
Tёмный
pic
02 дек 2017 11:32
Изменен 02 дек 2017 11:33
Редактировать
Ссылка на этот пост
вопрос не столько про с/с++, сколько про мэйк (make)
 
я покидал все сырцы из предыдущих двух "проектов" Queue и Stack в один каталог, и сделал один общий Makefile
 
Bash

# Makefile for Laba-01 LIFO-FIFO (Queue&Stack) project

queueapp stackapp: main-queue.o Queue.o main-stack.o Stack.o
        g++ -o queueapp main-queue.o Queue.o
        g++ -o stackapp main-stack.o Stack.o
 
main-queue.o: main-queue.cpp
        g++ -c main-queue.cpp
 
main-stack.o: main-stack.cpp
        g++ -c main-stack.cpp
 
Queue.o: Queue.cpp
        g++ -c Queue.cpp
 
Stack.o: Stack.cpp
        g++ -c Stack.cpp
 
clean:
        rm -f *.o *app
 

делаю ли я правильно? ничего глаз не режет? быть может, стоит ещё как-нибудь облагородить?
 
Tёмный
pic
29 дек 2017 13:53
Изменен 30 дек 2017 19:07
Редактировать
Ссылка на этот пост
нид хелп! = )
в пост призываются *nix`оиды.
 
какие аналоги в никсах для виндвой функции GetTickCount() ?
 
В проге нужно замерить время выполнения некоторого процесса/задачи. В данном случае - сортировки массивов разными способами.
В примере это реализовано так:
 
C++
...
#include <windows.h>
...
//генерируем массив рандомных интов
...
long t1=GetTickCount();                //засекаем время старта
...
//сортировка массива
...
long t2=GetTickCount();                //засекаем время окончания
long t3=t2-t1;
сout << "\n Время ==>   " << t3;   //сообщаем сколько времени затратили
...

как это _правильно_ повторить в linux без виндовой приблуды?
 
я пока сделал вот так, но мне кажется я сделал не то (
C++
...
#include <sys/times.h>
...
//генерируем массив рандомных интов
...
    tms tm;
    clock_t timestart = times(&tm);     
...
//сортировка массива
...
    clock_t timefinish = times(&tm);
    double t = timefinish - timestart;   
    cout << endl << "t =   " << t << endl;
...

хельпь... хельпь ми плись!
 
UPD
нашел на форуме opennet.ru ещё такой вариант, сделать свой GetTickCount с блэкджеком и шлюхами
 
C++

#include <sys/time.h>
unsigned long GetTickCount()
{
    struct timeval tv;
    gettimeofday(&tv,NULL);
    return (tv.tv_sec*1000+tv.tv_usec/1000);
}
 

вроде работает
DreamX
pic
23 мар 2018 17:18

Редактировать
Ссылка на этот пост
*мну почитал это всё внимательно.
phasma
pic
05 окт 2018 05:24

Редактировать
Ссылка на этот пост
> какие аналоги в никсах для виндвой функции GetTickCount() ?
Лучше https://ru.wikipedia.org/wiki/Rdtsc так. Время менее точное.
phasma
pic
05 окт 2018 05:25

Редактировать
Ссылка на этот пост
> делаю ли я правильно? ничего глаз не режет? быть может, стоит ещё как-нибудь облагородить?
Посмотри лучше на CMake.
phasma
pic
05 окт 2018 05:30

Редактировать
Ссылка на этот пост
> например, хочется посмотреть внутрь библиотеки <stack>,
Это STL и читать без подготовки его сложно. Базовые структуры данных лучше у Седжвика почитать.
Новое сообщение