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

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

Войти
Регистрация
Восстановить пароль
 
N1KOL@Y
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 47
#1

Учусь c ++ - C++

18.07.2013, 16:32. Просмотров 631. Ответов 11
Метки нет (Все метки)

В общем читал статью в учебнике "Умные опеpатоpы".

Дальше идет такая пpогpаммка.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include<string>
Using namespace std;
 
int main()
{
string a="Мама!";
cout << a.at(4) << endl;
cout << a[4] << endl;
for (int i=0; i<a.size();i++)
 
 cout << a[i] << endl;
}
Статью я пpочитал, но я нифига не понял что и как pаботает. Обьясните пожалуйста мне следующие вещи
a.at(4)

a[4]

a.size()

a[i]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2013, 16:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Учусь c ++ (C++):

Учусь умножать - C++
Здравствуйте, дорогие обитатели CyberForum :) Есть небольшая просьба, прошу подтолкнуть меня к правильному решению задачи. Изначально...

Учусь программированию на языке с++ самостоятельно - C++
Учусь программированию на языке с++ самостоятельно (уроки Дениса Маркова в Ютуб). После урока с циклами у меня возникли огромные...

Перегрузка операторов. Учусь. Ошибка - C++
перегрузка операторов.. ЗАДАНИЕ: М2=М1-V – из М1 удалить строки, сумма элементов которых больше суммы элементов V. где V- массив,...

учусь разбирать чужой код - C++
что делает эта функция? static unsigned long foo (char *w) { int c; unsigned long u = 0; while (*w != 0) { if...

Массивы. Только учусь. Выборка и сортировка - C++
Задание такое. Язык: C Define использовать нельзя!!! С клавиатуры вводятся слова разделенные пробелами. На экран выводятся в...

Решит, вроде легко, но учусь на элементарных! Дайте экстра-класс - C++
Задана последовательность n. Найти количество элементов, кратных 3. Напишите на С++ пожалуйста, с комментариями!!! Если вас не...

11
hwmlex
41 / 41 / 3
Регистрация: 30.01.2013
Сообщений: 133
18.07.2013, 16:35 #2
a.at(4) и a[4] - обращение к символу строки как к элементу массива.
a.size() - размер массива/строки
a[i] - обращение к i-ому элементу массива/строки.
0
N1KOL@Y
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 47
18.07.2013, 16:38  [ТС] #3
hwmlex, а как оно там взаимосвязано все в пpогpамме? Можно поподpобней обьяснить если можно?
0
hwmlex
41 / 41 / 3
Регистрация: 30.01.2013
Сообщений: 133
18.07.2013, 16:42 #4
Цитата Сообщение от N1KOL@Y Посмотреть сообщение
cout << a.at(4) << endl;
Выводит элемент строки с индексом 4
Цитата Сообщение от N1KOL@Y Посмотреть сообщение
cout << a[4] << endl;
Тоже самое.
Цитата Сообщение от N1KOL@Y Посмотреть сообщение
for (int i=0; i<a.size();i++)
Проходимся по массиву символов строки.
Цитата Сообщение от N1KOL@Y Посмотреть сообщение
cout << a[i] << endl;
Печатаем каждый символ строки
1
N1KOL@Y
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 47
18.07.2013, 16:47  [ТС] #5
Цитата Сообщение от hwmlex Посмотреть сообщение

Печатаем каждый символ строки
а почему он делает вывод веpтикальным?
М
а
м
а
!
0
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
18.07.2013, 16:51 #6
Ну так endl для чего служит?
1
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,533
Завершенные тесты: 1
18.07.2013, 16:54 #7
N1KOL@Y, Форматированный вывод.
1
N1KOL@Y
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 47
18.07.2013, 16:54  [ТС] #8
Цитата Сообщение от Ilot Посмотреть сообщение
Ну так endl для чего служит?
Имитиpует \n.

Значит каждый элемент массива он и ставит на новую стpочку?
0
Skotinyshaka
4 / 4 / 0
Регистрация: 08.11.2011
Сообщений: 99
18.07.2013, 17:06 #9
Цитата Сообщение от N1KOL@Y Посмотреть сообщение
Имитиpует \n.

Значит каждый элемент массива он и ставит на новую стpочку?
не совсем верно

Команда endl:
1) Записывает в поток (stream) символ перевода строки.
2) Выполняет flush.

\n - переводит каретку на новую строку
1
stranger140569
2 / 0 / 1
Регистрация: 25.01.2011
Сообщений: 27
18.07.2013, 23:08 #10
Команда endl в добавок к переводу строки очищает буфер. Если в буфере что-то осталось после ввода, программа может записать это в новь созданную переменную. А оно тебе надо?
0
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
19.07.2013, 00:36 #11
Skotinyshaka, ну уж если пошла такая пьянка, то \n- это перевод на новую строку и смещение коретки в начало строки) Как бы две операции.
1
Skotinyshaka
4 / 4 / 0
Регистрация: 08.11.2011
Сообщений: 99
19.07.2013, 00:51 #12
Wolkodav, согласен)... сорри за ложную информацию...
0
19.07.2013, 00:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2013, 00:51
Привет! Вот еще темы с ответами:

я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!! - C++
я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!!.. например какие...

учусь рисовать - PHP
Привет! У меня задача нарисовать полоску с метками (флажки. расположение - 2 по краям, 2 в любом месте полоски), напр. 4 флажка. До...

Учусь на разработчика - 1С
Вопрос может показаться кому-то странным, но всёже. Я тут учусь на разработчика... (от фирмы отправили) Какие наиболее часто...

Учусь, помогите! - Cisco
читаем правила У меня такая же проблема - не могу из-за этого сдать экзамены. Яву переустановил, пробовал в 4х разных браузерах. Ничего не...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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