Здравствуйте!
Я учусь по специальности "вычислительные машины, комплекы, системы и сети", к сожалению по данной программе дают поверхностные знания о программировании, а оно меня очень заинтересовало (С++), я самостоятельно изучил материал книги Джес Либерти "С++ за 21 день", посоветуйте дальнейший материал для изучения языка: книги, ссылки на ресурсы, пособия.
Пишу в среде VisualStudio 2008, но хотелось бы научиться программировать и в окружении Linux, но пока даже не разобрался как в ней компилировать простую программу…
Заранее спасибо!
31 января 2010 в 16:04
#30
А что всё-таки лучше, Джефф Элджер или Скотт Майерс, как на ваш взгляд?
31 января 2010 в 16:04
Имел ввиду эти Скотта: //hire7.net/2007/09/26/skott_majjers_jeffektivn...
29 января 2010 в 20:02
REQ: Альтернативы QT?
25 января 2010 в 18:01
Реально, для этого нужно 3 вещи:
1) упорство (потому как по началу многое будет казаться непонятно, изучение языка – не очень последовательная вещь, там нет отправных точек с которых надо начинать изучение, всё очень сильно взаимосвязанно, полная картина прояснится лишь в конце пути твоего изучения)
2) практика (без практики написания программ все твои полученные знания быстро выветриваются из головы, поэтому надо писать, писать, писать…)
3) хорошая литература по изучению языка, желательно зарубежных авторов (Бьерн Страуструп, Джесс Либерти, Брэдли Джонс, Керниган Ричи…)
25 января 2010 в 18:00
#43я изучил с++ "сидя" за книжками.
заняло примерно полтора года, пока не стал нормальным программером
правда, я параллельно еще некоторые вещи изучал, но первый раз читал Страуструпа год примерно.
25 января 2010 в 17:05
ребята в вобше реально изучить с++ самому сидя за книжками?
какой язык легче с++ или c#??? и с какого начинать???
24 января 2010 в 1:02
комментарии к вашему творчеству:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
int z=0,k=0,Z[30],i;
z[30]=z; // какая-то ошибка
for(i=0,i<29,i++) // для всех i от 0 до 29
if(k!=0) and (n!=0) // какая-то ошибка
z=k/q; // какая-то ошибка
if(i<z) // условие, судя по всему, не выполняется
k=k+1; // увеличить k на единицу
z=i; // присвоить переменной z значение переменной i
printf("%d%d",Z,k); // напечатать адрес массива Z и число k (равное 1).
getch();
}
23 января 2010 в 22:04
ваша программа не работает. в частности, две ошибки в строке z[30]=z; (это надо уметь): во-первых, z не является массивом или указателем, а во-вторых, обращение к элементу с индексом 30 приведет к сегфолту.
23 января 2010 в 21:04
Задача
Дана последовательность действительных чисел.Заменить все её члены,большие данного числа Z,этим числом.Подсчитать количество замен
[code]
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
int z=0,k=0,Z[30],i;
z[30]=z;
for(i=0,i<29,i++)
if(k!=0) and (n!=0)
z=k/q;
if(i<z)
k=k+1;
z=i;
printf("%d%d",Z,k);
getch();
}[/code]
22 января 2010 в 23:03
>> Коллега,а не подскажешь что делает кусок кода :
>> а то я чёт запутался ??? и почему убрав после for ; прога не работает ???
по поводу программы – будьте любезны разобраться самостоятельно. или даже на это сил не хватает?
>> она работает ток с 2-3 значными числами,введи ей 65789 она выдаст ерунду (((
это ваш компилятор виноват – слишком усердно следует букве спецификаций. спецификатор формата %d, если мне не изменяет память, хочет целое, которое на 16-битных системах является 16-битным. 65789 в 16 бит не укладываются.
>> мдя, это такой в меру черный юмор на с++
ничего не черный юмор. тупое решение в лоб.
22 января 2010 в 17:01
#34
мдя, это такой в меру черный юмор на с++
чтобы понять первую строчку нужно внимательно прочитать у Страуструпа про циклы for.
for(b=1;a/10/b;b*=10); <- тут вычисляется сколько порядков содержит твое число (т.е. сколько раз оно на 10 делится без того, чтобы стать меньше 1)
условие выхода из цикла a/10/b, т.е. когда a/10/b станет ==0.
тела у цикла нет, потому как не нужно
смысл этих действий описывается примерно так:
b=1;
while(a/10/b > 0)
{
b*=10
}
вторая строка a+=(a%10-a/b)*(b-1); собственно и получает нужно е число (сам разберись с приличным учебником типа Страструпа что там делается)
22 января 2010 в 16:03
ну так может с типами грешишь?
если int, то понятно, почему так
22 января 2010 в 15:00
Дано числоN,Переставить местами 1 и последнюю цифру числа,она работает ток с 2-3 значными числами,введи ей 65789 она выдаст ерунду (((
22 января 2010 в 13:01
ну и вычисления….) а что она [программа] считать должна?)
22 января 2010 в 10:04
#33
Леонид maxleo Максимов Коллега,а не подскажешь что делает кусок кода :
for(b=1;a/10/b;b*=10);
a+=(a%10-a/b)*(b-1);
а то я чёт запутался ??? и почему убрав после for ; прога не работает ???
21 января 2010 в 22:00
отлично. товарищ "хакер", ответьте, пожалуйста, на простой вопрос: что в си/си++ делает оператор –>
?
21 января 2010 в 21:04
Даю уроки по Си++ & Паскалю как просто для программирования так и для взлома!!!
Обучение предпологает начальные знания Си++ либо, Паскаля.
21 января 2010 в 18:04
#28
Леонид maxleo Максимов спасиб
21 января 2010 в 7:00
Васька Клещ , совет прочитай книгу C++ for Real Programmers она есть на русском языке //www.rsdn.ru/res/book/cpp/cpp_real_programmers...
Бьярна Страуструпа Язык С++ читать не советую – книга очень мутная.
21 января 2010 в 0:01
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
long a=0,b=0;
printf("Введите число= ");
scanf("%d",&a);
if(a<0)
printf("Negative numbers are not supported.");
else
{
for(b=1;a/10/b;b*=10);
a+=(a%10-a/b)*(b-1);
printf("%d",a);
}
getch();
}
вроде должно работать. как обычно, писал без компилятора.
21 января 2010 в 0:00
мне понравилось
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int n,c;
long a;
printf("Введите число= ");
sacanf("%d",&a); // явно опечатка.
if(n!=0); // если эн не равно нулю… а впрочем, забейте.
if(c=n%10); // цэ есть остаток деления эн на десять
else // если эн все-таки делится на десять
{c=n; // положить цэ равным эн
}
printf("%d",a); // напечатать введенное ранее число.
getch();
}
ЗЫ: решил помочь.
20 января 2010 в 20:05
кстати перед if надо дописать for(i=0;i<10;i++)
И по моему у меня а без дела болтается,Плиз помогите с задачей )))
20 января 2010 в 19:05
Эх забыл,дано натуральное число n ,переставить местами 1 и последнюю цифру числа
20 января 2010 в 18:02
так она будет компилится но выдавать идиотский результат (всегда 0)
#include<conio.h>
void main()
{
clrscr();
int n = c = 0;// инициализировать очень полезно
long a = 0.0;// инициализировать очень полезно
printf("Введите число= ");
scanf("%d",&a);// очепятка была
if(n!=0)// очепятка была
{ // фигурные скобки ставить очень полезно
if(c=n%10)// очепятка была
else
{
c=n;
}
}
printf("\n%d\n",n); // не было переводов строк
getch();
}
20 января 2010 в 18:02
а если хотелось выводить число кратное 10 – то нужно дописывать
действительно, ты скажи, чего сделать хотел..
20 января 2010 в 18:01
а что в ней помогать?
20 января 2010 в 18:01
В коде без комментариев трудно разбираться, напиши что за задача (что твоя программа делать должна).
20 января 2010 в 17:04
помогите с задачой [code]#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int n,c;
long a;
printf("Введите число= ");
sacanf("%d",&a);
if(n!=0);
if(c=n%10);
else
{c=n;
}
printf("%d",a);
getch();
}[/code]
ПС-знаю не в тему (((
15 января 2010 в 13:03
Джес Либерти "С++ за 21 день – Это не та мальленькая и тоненькая с кучей опечаток???
врядли ))
там 820 страниц…)
15 января 2010 в 12:04
Джес Либерти "С++ за 21 день – Это не та мальленькая и тоненькая с кучей опечаток???
Васька Клещ – прям герой. Ну и терпение же с этим бредом возиться.
Найди 1) достойную проблему 2) Книгу по описанию IDE +ГлушаковПрограммирование на С++ (новая книга)
11 января 2010 в 19:03
как писать в визуал студии //firststeps.ru/mfc/winapi/winapi1.html
11 января 2010 в 19:02
изучай, причем обязательно.
на одном языке далеко не уедешь, а знание нескольких расширяет кругозор и добавляет паттерны программирования.
причем бери разные языки, т.е. например что-нить типа fort, lisp, python
посмотри
пригодится потом все, причем чем более разные языки ты посмотришь – тем легче потом будешь разбираться в ноых языках.
использование библиотек (типа qt/gtk/…) даст некоторый плюс, но меньший чем знание разных языков (имхо). Библиотек слишком много, все не выучишь все равно…
программирование под разные оси (де-факто сталкивался с тремя разными требованиямм – под винды, posix, под монстра который используется только в определенном месте) тоже полезно. но винды слишком быстро меняются, как только паерестаешь их отслеживать – знания тут же устаревают. Posix все-таки более стабилен и там меньше системных вызовов, следовательно он проще.А монстров пруд пруди, как правило это или клон линукса с примочками сверху или какая-нить РТОСина.
Кста, еще полезно почитать теорию, типа Таненбаума "Современные операционные системы"
а еще неплохо иметь хотя бы какое-то понятие о базах данных, sql , сетях (протоколы, как устроено итд…)
многое нужно учить
10 января 2010 в 14:05
главно не все одновременно изучай, а то в голове получится хороший понос, и будешь хреново прогить и на одном, и на другом, и на третьем
10 января 2010 в 14:01
что ты писать планируешь? ответь себе на этот вопрос – дальше сам определишься что тебе нужно
10 января 2010 в 13:05
Спасибо всем за ответы, но возник ещё вопрос: стоит ли изучать ещё какойнибудь язык программирования кроме С++, или ограничеца одним? Если стоит, то какой посоветуете?
10 января 2010 в 3:01
Обнаружено слово Qt. Надобно ссылку дать: //qt.nokia.com/downloads/downloads
Выбрать LGPL версию под свою ОС.
^_^
Не мог удержаться…
10 января 2010 в 1:05
Артем Четвертаков
На каком курсе вам дают кутэ?
10 января 2010 в 1:05
на втором.
сначала был семестр паскаля, семестровая – база данных.
потом семестр основ c++.
потом появилось qt.
следующий семестр -qt и приложения типа клиент\сервер.
10 января 2010 в 1:05
Хм…. ну у нас где-то так же. В первом семестре была "технология программирования" -ANSI C. Во втором начнутся БД.
Потом начнется ООП, дальше не знаю.Специальность "Информационные системы и технологии".
А вообще, ВУЗ и не должен давать языки программирования. В первую очередь он должен дать математику, основы алгоримов, сетей. Устройство компьютера. Языки – это уже дело каждого: как изучать, и что изучать.
10 января 2010 в 1:04
кстати забыл сказать, специальность у меня та же. и меня qt учат в универе.
10 января 2010 в 1:04
Универ универу – мразь ))
Ой, рознь ))
10 января 2010 в 1:03
У меня специальность та же была)
Так вот. Для начала разберись вообще, что такое линукс. Поставь его, потрогай ручками. КОгда будешь хорошо в нем разбираться, уже можно лезть в программирование под него. Для начала обрати внимание на Qt, она позволяет писать кроссплатформенные приложения. А вообще..изчать с++…главно понять основы, и далее опыт, опыт…
10 января 2010 в 1:02
Подпишусь. Ибо с той же специальности
10 января 2010 в 1:01
может немного не то, что тебе интересно, но: поставь qt. это межплатформенная библиотека для С++, больше можешь почитать в вики //ru.wikipedia.org/wiki/Qt
9 января 2010 в 17:01
если есть определенные знания, что б читать такие книги в пользу, то стоит естественно
что же касается "Разработка ядра Linux" – перевод гавно, читать стоит оригинал
"Искусство программирования для Unix", читал и на русском и в оригинале,
перевод годиться
9 января 2010 в 17:00
Бъерн Страуструп «Язык программирования C++»
Стивен Дьюхерст «С++ Священные знания»
Кстати, что можете сказать о книгах Эрика C. Реймонда
"Искусство программирования для Unix" и Роберта Лава
"Разработка ядра Linux" ?
9 января 2010 в 16:02
начни с Робачевского "ОС UNIX", есть еще книга Иванова "Программирование в Linux", достаточно понятна для начинающего