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

Как работает strncpy()? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отсортировать двумерный массив по убыванию простых чисел http://www.cyberforum.ru/cpp-beginners/thread1545486.html
Нужно отсортировать двумерный массив по количеству простых чисел в нем по убыванию. Сколько не пытался , сортирует как то кривовато.
C++ Заменить элементы массива,стоящие на нечетных позициях, на среднее арифметическое массива Заменить элементы массива,стоящие на нечетных позициях, на среднее арифметическое массива http://www.cyberforum.ru/cpp-beginners/thread1545481.html
Нужно вставить формулу в программу C++
y= \begin{cases} ln\left(-x \right) & \text{ , } x \lt 1 \\ -\sqrt{1-x^2} & \text{ , } -1 \le x \le 1 \\ ln\left(x \right) & \text{ , } x \gt 1 \end{cases}\\ x=\begin{Bmatrix} -0.4;\,0.7;\,-1.6;\,2.6;\,-2.2;\,1.2;\,2.1 \end{Bmatrix}
Неполное уравнение 3 степени C++
Здравствуйте! Подскажите решение уравнения в программном виде: \frac{{\alpha }^{3}}{3} + \frac{3*{\alpha }^{2}}{2} = d где d- задано вещественным числом.
C++ Никак не могу понять что это http://www.cyberforum.ru/cpp-beginners/thread1545442.html
#include <iostream> using namespace std; int main() { setlocale(LC_ALL, "rus"); double chocolate, cofe, milk; cout << "Number of chocolates:" << chocolate << endl; cin >> chocolate; cout << "Number of cofe:" << cofe << endl;
C++ Выбрать из массива неповторяющиеся числа Помогите с алгоритмом. Дан массив, нужно переписать все числа, которые повторяются, в другой массив по одному разу. Вот и не понимаю, как же реализовать эту проверку в цикле, чтобы по одному разу присваивал... подробнее

Показать сообщение отдельно
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.10.2015, 23:42     Как работает strncpy()?
anti-k, извиняюсь, не увидел Ваши последние вопросы.
Цитата Сообщение от anti-k Посмотреть сообщение
почему не size+1???
Смотрите. В Вашем примере размер строки == 19. Ее можно рассматривать как массив с индексами от 0 до 18. При записи в ch+size, получается, что Вы пишите в ячейку с индексом 19, которой нет у строки. При выделении памяти size + 1 она появляется. Если бы Вы хотели записать в ch+size+1, то это была бы ячейка с индексом 20, которой, опять же, нет у стройки. Смысл в выделении size+1 памяти в том, что бы хватило на последний терминальный символ.
Цитата Сообщение от anti-k Посмотреть сообщение
Toshkarik, в случае если я ввожу больше 10, меня выбрасывает из программы((
Берутся первые 9 символов из потока и 1 терминальный символ конца строки и записываются в строку ch. Но в потоке еще остались символы, Вы ведь ввели больше 9 символов. Значит, что для второй строки ( che ) уже есть данные, и они туда записываются. Далее, идет вызов функции strstr. Я почти уверен, что она возвращает 0.
 
Текущее время: 22:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru