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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
sozdatel
0 / 0 / 0
Регистрация: 20.08.2016
Сообщений: 13
#1

Допустим ли код? - C++

28.09.2016, 12:03. Просмотров 317. Ответов 20
Метки нет (Все метки)

Читаю учебник, приведен код, при попытке скомпилировать куча ошибок, текст из учебника. Корректен ли код? (c++)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
int (main)
{
    int sum = 0. val = 1;
    // продолжить выполнение цикла, пока значение val
    // не привысит 10
    while (val <= 10) {
        sum += val; // присвоить sum сумму val и sum
        ++val;      // добавить 1 к val
    }
    std::cout << "Sum of 1 to 10 inclusive is "
        << sum << std:endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2016, 12:03     Допустим ли код?
Посмотрите здесь:

C++ Не получается запустить длинный код Алгоритма Гомори, код правильный.
Определить "Y" с точностью до члена ряда меньшего "e"(допустим: 0.001) C++
как зациклить switch, чтобы после того как я допустим ввожу f и он считает циклом for, потом снова просил введите символ C++
C++ Почему переменной month присваивает значение, допустим 05, а day 2605
Код написан в Dev C. Не работает в Visual. Как нужно переделать код? C++
Написать код для игры НИМ. проверьте пожалуйста тот ли это код C++
C++ я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву "П" , какой цикл нужно создать чтобы пометять букву "П" на букву "Р" ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VAN0
51 / 51 / 29
Регистрация: 05.05.2013
Сообщений: 137
Завершенные тесты: 1
28.09.2016, 12:07     Допустим ли код? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iomanip> 
using namespace std;
 
int main()
{
    int sum = 0, val = 1;
    // продолжить выполнение цикла, пока значение val
    // не привысит 10
    while (val <= 10) {
        sum += val; // присвоить sum сумму val и sum
        ++val; // добавить 1 к val
    }
    cout << "Sum of 1 to 10 inclusive is "
        << sum << endl;
        system("pause");
    return 0;
}
GbaLog-
Не Эксперт C++
2307 / 932 / 243
Регистрация: 24.08.2014
Сообщений: 3,500
Записей в блоге: 1
Завершенные тесты: 2
28.09.2016, 12:08     Допустим ли код? #3
Цитата Сообщение от sozdatel Посмотреть сообщение
Корректен ли код?
Нет.
sozdatel
0 / 0 / 0
Регистрация: 20.08.2016
Сообщений: 13
28.09.2016, 12:28  [ТС]     Допустим ли код? #4
GbaLog, учебник "Пятое издание. Язык программирования C++. Базовый курс" Стенли Б.Липпман, Жози Лажойе. Сверху написано : "Полностью пересмотренное и обновлённое издание под стандарт C++11. Может быть, в этом причина? 37 страница, Оператор While. Стоит ли дальше изучать этот учебник, если уже сейчас код некорректен?
VAN0
51 / 51 / 29
Регистрация: 05.05.2013
Сообщений: 137
Завершенные тесты: 1
28.09.2016, 12:39     Допустим ли код? #5
Все нормально, просто объявлять переменные нужно через запятую, а не через точку. Везде м.б. ошибки и опечатки, от этого не застраховано ни одно издание.

Добавлено через 3 минуты
Только что заметил у меня кстати тоже ошибка: вместо
Цитата Сообщение от VAN0 Посмотреть сообщение
#include <iomanip>
должно быть
Цитата Сообщение от sozdatel Посмотреть сообщение
#include <iostream>
ture
437 / 330 / 123
Регистрация: 27.11.2014
Сообщений: 1,038
28.09.2016, 12:40     Допустим ли код? #6
sozdatel, Язык программирования C++. Лекции и упражнения Стивен Прата
Это твой первый язык?
GbaLog-
Не Эксперт C++
2307 / 932 / 243
Регистрация: 24.08.2014
Сообщений: 3,500
Записей в блоге: 1
Завершенные тесты: 2
28.09.2016, 12:43     Допустим ли код? #7
sozdatel, Тут нет алгоритмических ошибок, тут просто опечатки. Такое бывает в любых учебниках.

Не по теме:

P.S. Даже у Макконнелла в "Совершенном коде" заметил опечатку, хотя книга-то 2004 года, должны были уже все ошибки исправить.

sozdatel
0 / 0 / 0
Регистрация: 20.08.2016
Сообщений: 13
28.09.2016, 12:52  [ТС]     Допустим ли код? #8
Цитата Сообщение от ture Посмотреть сообщение
sozdatel, Язык программирования C++. Лекции и упражнения Стивен Прата
Это твой первый язык?
Да. Вы мне книгу советуете?
Цитата Сообщение от VAN0 Посмотреть сообщение
должно быть
у меня сначала 17 ошибок в моём коде было, в твоём (вашем) 3. Я особо ничего не менял, ошибки не исправлял, добавил system("pause"), всё скомпилировалось в моём коде. Недоумеваю теперь. Я using namespace std кстати, не написал, всё равно работает.

Добавлено через 1 минуту
Цитата Сообщение от GbaLog- Посмотреть сообщение
sozdatel, Тут нет алгоритмических ошибок, тут просто опечатки. Такое бывает в любых учебниках.
ок, спасибо.
ture
437 / 330 / 123
Регистрация: 27.11.2014
Сообщений: 1,038
28.09.2016, 12:58     Допустим ли код? #9
sozdatel, я по этой учился, но до этого был, скажем так, некоторый сомнительный опыт. Первым языком был у меня c# (Язык программирования C# 5.0 и платформа .NET 4.5 Эндрю Троелсен). После шарпа освоить ООП с++ стало плевым делом. Когда встал вопрос экспертной оценки, то пришлось изучать ассемблер (без него можно долго верить бредням специалистов).
nmcf
4768 / 4106 / 1372
Регистрация: 14.04.2014
Сообщений: 16,123
28.09.2016, 13:00     Допустим ли код? #10
Цитата Сообщение от ture Посмотреть сообщение
пришлось изучать ассемблер (без него можно долго верить бредням специалистов)
Сомнительное заявление. Как ассемблер тебе помог в понимании всех этих абстракций?
ture
437 / 330 / 123
Регистрация: 27.11.2014
Сообщений: 1,038
28.09.2016, 13:04     Допустим ли код? #11
nmcf, абстракции не сложнее математических, а ассемблер нужен, когда нужно объяснить поведение написанной программы.
_SayHelli
83 / 83 / 24
Регистрация: 30.07.2015
Сообщений: 457
28.09.2016, 13:13     Допустим ли код? #12
Цитата Сообщение от ture Посмотреть сообщение
Язык программирования C++. Лекции и упражнения Стивен Прата
В процессе изучения этой книги. Хотел начать с чистого Си Ричи и Керигана (для контроллеров в основном используется Си), но там уже довольно устаревший стандарт на мой взгляд, у Прата довольно простой язык с отсылками к Си. Пока очень нравится.
Цитата Сообщение от nmcf Посмотреть сообщение
Как ассемблер тебе помог в понимании всех этих абстракций?
Становится прозрачнее связь программа-железо ( ну на мой взгляд)
nmcf
4768 / 4106 / 1372
Регистрация: 14.04.2014
Сообщений: 16,123
28.09.2016, 13:16     Допустим ли код? #13
_SayHelli, он там говорит, что не надо верить бредням специалистов, а изучать ассемблер.
Т. е. имеется в виду, что можно заглянуть в окно дизассемблера и увидеть, что компилятор сделал? Как это поможет в понимании языка? Если сказано, что приоритет у операций такой-то, то ассемблер тут ничего не даст в плане понимания. Другой уровень абстракции.
ture
437 / 330 / 123
Регистрация: 27.11.2014
Сообщений: 1,038
28.09.2016, 13:35     Допустим ли код? #14
nmcf, ух! Ассемблер нужен тогда, когда нужно объяснить промышленные стандарты. К примеру, почему в операторе if нужно поднимать вверх наиболее вероятное условие, почему в циклах нужно отказываться от прерывания и продолжения, почему в структурах/классах нужно думать о порядке членов данных, почему стоит задуматься о стоимости(о количестве операций речь) виртуальных методов, почему нужно максимально использовать инициализацию в конструкторе, и т.п. Гора всего, что можно толковать на разный лад. С ассемблером ты сам для себе будешь располагать инструментом экспертной оценки. То же рекомендуют в с#, чуть ли ни в каждой книге (примерно так - "Чтоб понять, что на самом деле происходит, откройте ildasm").

Нечего обиду таить, эксперты разные и многие как консультанты в магазине.
nmcf
4768 / 4106 / 1372
Регистрация: 14.04.2014
Сообщений: 16,123
28.09.2016, 14:00     Допустим ли код? #15
ture, учитывая, что сейчас во всю используется оптимизация, там может быть что угодно.
hoggy
6001 / 2441 / 436
Регистрация: 15.11.2014
Сообщений: 5,408
Завершенные тесты: 1
28.09.2016, 14:14     Допустим ли код? #16
Цитата Сообщение от ture Посмотреть сообщение
К примеру, почему в операторе if нужно поднимать вверх наиболее вероятное условие
оптимизации? не, не слышал.
ture
437 / 330 / 123
Регистрация: 27.11.2014
Сообщений: 1,038
28.09.2016, 14:44     Допустим ли код? #17
hoggy, да, мне это нравится!
Я реагирую аналогично, но потом все-таки надо глянуть, почему так. Спрашивать "местного эксперта" (на предприятии) бестолку, на то он свою з/п и получает, чтоб нос задирать. Сосед обычно многозначительно помалкивает. На форуме ждет Ваш замечательный ответ от большинства. А экспертная оценка все-таки нужна. Вот тогда я и обращаюсь к ассемблеру.

Добавлено через 3 минуты
nmcf, там может быть что угодно, согласен. Слушать каждого инструктора по качеству кода надо осторожно, потому что эти советчики не удостаивают себя труда убедиться, что их поняли правильно.
qppq
11 / 11 / 1
Регистрация: 31.08.2016
Сообщений: 144
Завершенные тесты: 1
28.09.2016, 14:56     Допустим ли код? #18
Цитата Сообщение от sozdatel Посмотреть сообщение
Я using namespace std кстати, не написал, всё равно работает.
это чтоб std:: не добавлять каждый раз
ture
437 / 330 / 123
Регистрация: 27.11.2014
Сообщений: 1,038
28.09.2016, 15:03     Допустим ли код? #19
qppq, std:: используют, чтоб подчеркнуть место, откуда взят символ (функция, тип, переменная)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2016, 15:13     Допустим ли код?
Еще ссылки по теме:

Создать класс, допустим, с именем Number C++
Есть массив из положительных чисел, допустим из 10. Нужно найти эл-ты, сумма которых будет равна определённому числу C++
C++ Хочу написать программу-калькулятор под ,допустим,игру
Что из себя представляет допустим поток ввода/вывода C++
C++ Обьяснить, допустим ли приведенный код

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
qppq
11 / 11 / 1
Регистрация: 31.08.2016
Сообщений: 144
Завершенные тесты: 1
28.09.2016, 15:13     Допустим ли код? #20
Цитата Сообщение от ture Посмотреть сообщение
используют, чтоб подчеркнуть место, откуда взят символ (функция, тип, переменная)
угу, про кашу с маслом масленным
Yandex
Объявления
28.09.2016, 15:13     Допустим ли код?
Ответ Создать тему
Опции темы

Текущее время: 18:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru