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

Вопросы по строкам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран те элементы списка, которые больше своих соседей http://www.cyberforum.ru/cpp-beginners/thread305850.html
Дан список из n целых чисел a1,a2,..,an. Вывести на экран те элементы списка, которые больше своих соседей. Заранее спасибо за помощь!
C++ что-то не так Нужно сделать программу возвращающую произведение n последних элементов массива. Вот программа,но она почеу то возвращает n первых элементов,и непойм почему. #include <iostream> #include <cstdlib> #include <ctime> #include <iomanip> using namespace std; int proizv(int N, int a); http://www.cyberforum.ru/cpp-beginners/thread305845.html
С помощью какой функции загрузить файл C++
Во общем на заголовок вопрос, если есть возможность то с примером
C++ Битовые операции
Доброго времени суток! Помогите решить задачу на тему "Битовые операции": Ввести четыре целых числа P, Q, N и M. Что больше P*(2^M) или Q/(2^N)? Заранее благодарен!
C++ Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно http://www.cyberforum.ru/cpp-beginners/thread305794.html
Здравствуйте. Прощу помощи с заданием: "Ввести число N. Создать очередь из чисел от 0 до N. Создать вторую очередь в которой будут только числа, которые нацело делятся на 2,3,5 одновременно" Вот код который написал: #include <string.h> #include "stdafx.h" #include <iostream> #include "math.h"
C++ Инициализация массива внутри case Подскажите, пожалуйста, как правильно инициализировать массив внутри оператора case? Или так делать нельзя? При компиляции вот этого кода ошибок нет, но при выводе результатов бесконечно печатается Vubor:. Что не так?: #include "stdafx.h" #include <iostream> int _tmain(int argc, _TCHAR* argv) { int n; std::cout << "Enter n: "; std::cin >> n; подробнее

Показать сообщение отдельно
Staratel
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 4

Вопросы по строкам - C++

26.05.2011, 22:43. Просмотров 426. Ответов 7
Метки (Все метки)

Доброго времени суток.
У меня несколько вопросов для понимания строк.

1)
C++
1
2
char a = {'a','b','c'};
            cout << a;
вывод: abc

Вопрос: как компилятор понял, что a это строка, ведь я не добавлял завершающий нулевой символ. А если верить справочникам, насколько я помню, это обязательно. Или он сам его добавил? если да, то куда?

2)
Массив a сожержит числа {0,1,2.... 123,124}

C++
1
2
3
4
5
6
int z;
z = a[2][3][4] = *((int*)a + 2*5*5 + 3*5 + 4);
cout << " \n z =" << z;
 
z = a[2][3][4] = *(((int *)(( int **)a + 2) + 3) + 4);
cout << " \n z =" << z;
Почему в первом случае работает верно и z = 69, а во втором - нет, и z = 9.

3)
C++
1
2
3
4
char * s5[6] = {{"a"},{"ab"},{"abc"},{"abcd"},{"abcde"},{"abcdef"}};
 
for (int i=0; i<6; i++)
  {cout << &s5[i] << ' ';}
вывод: 0012FF4C 0012FF50 0012FF54 0012FF58 0012FF5C 0012FF60

Объявлен массив из 6-ти указателей на строки неопред-й длины. Разница между адресами = 4. Но разве эти указатели не должны являться также адресами первого элемента соответствующей строки? А если это так, то как же умещаются в этих четырех байтах строки, размер к-х больше 4-х? или они хранятся не по этим адресам?

4) Как привести массив типа char[N][M] к типу (char **) , а потом к (char *)?

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