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

Указатели в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Лаба по информатике http://www.cyberforum.ru/cpp-beginners/thread657612.html
Завтра сдавать лабораторную, а я в программировании на Си++ практически ноль. Было всего пару лекций на его изучение. Задача: Составить программу нахождения периметра правильного n-угольника, описанного около окружности радиуса R. (подробное описание заданий во вложении) Нашел формулу, по которой высчитывается периметр правильного n-угольника p=2*n*r*sin(3.14/n) n-кол-во сторон, r-радиус...
C++ Локальные переменные в функции и её аргумент Привет! Пишу функцию перевода десятичного числа в текст (не обсуждайте зачем и правильно ли я делаю) Суть такова, начало функции: void printFixedPoint(char* buffer, float data, int sign){ float fval, dfval;<<вход: data=55.0 int ival; dfval=10.0; // <<data=55.0 while (fval>=1.0) { ival=9; http://www.cyberforum.ru/cpp-beginners/thread657594.html
C++ Пифагоровы числа
Помогите составить задачу, как на паскале приблизительно знаю. Задача: Найти 20 первых Пифагоровых чисел, k,m,n принадлежит N k^2+m^2=n^2
Побитовые операции C++
Всем доброго утра. Дана такая задача: есть два чсила,поменять местами 2 последние цифры этих чисел между собой, т.е. 2 последних Х заменить на 2 последних У и наоборот. Но сделать это нужно с помощью битовых операций.Подскажите пожалуйста, с чего начать?как вообще работать в таком формате?
C++ Из целого числа получить новое путем удаления каждой четвертой цифры http://www.cyberforum.ru/cpp-beginners/thread657547.html
Из целого числа получить новое путем удаления каждой четвертой цифры
C++ Как можно изменить стандартные переменные в Visual Studio Здравствуйте! Подскажите, пожалуйста, как изменить такие переменные как $(VCInstallDir). подробнее

Показать сообщение отдельно
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
25.09.2012, 12:51
C++
1
while (*p)
цикл выполняется пока символ, который хранится по адресу p не является нуль символом. Дальше в цикле мы изменяем указатель (++p) и он начинает указывать на другой участок паяти, который хранит другой символ.

Добавлено через 9 минут
Т.е. если p = {'a', 'b', '\0'}, то *p указывает на 'a'
C++
1
2
3
4
5
6
while (*p) {
         while(*p!=' ' && *p) {
                  p++;
        }
        if(*p) p++;
}
Bот так будет выполняться участок кода для p = {'a', 'b', '\0'};

1. Строка 1: разыменовываем указатель *p = 'a', значение отличное от нуля поэтому выполняем итерацию цикла
2. Строка 2: *p != ' ' и *p != 0 (т.к. *p='a'). Выполняем итерацию вложенного цикла
3. Строка 3: смещаем указатель p. p теперь указывает на 'b'
4. Строка 4: конец итерации вложенного цикла
5. Строка 2: *p != ' ' и *p != 0 (т.к. *p='b'). Выполняем итерацию вложенного цикла
6. Строка 3: смещаем указатель p. p теперь указывает на '\0'
7. Строка 2: *p != ' ' и *p == 0 (т.к. *p='\0'). Закончить выполнение вложенного цикла
8. Строка 5: *p == 0 (т.к. *p='\0'). Не входим в true-блок.
9. Строка 6: конец итерации главного цикла.
10. Строка 1: *p == 0 (т.к. *p='\0'). Закончить выполнение главного цикла
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru