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

Почему появляются дополнительный сиволы в строке? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить значения t, соответствующие каждому значению х http://www.cyberforum.ru/cpp-beginners/thread976858.html
Вычислить значения t, соответствующие каждому значению х ( xn≤x≤xk , шаг изменения x равен dx) по формуле t=sin(ax)+(a+b)-e . Вычислить сумму отрицательных значений t, произведение ненулевых t, количество положительных значений t. На экран выводить каждую вторую пару значений x и t. Контрольный расчёт провести при a=1.23, xn=2.5, xk=8.5, dx=0.2. Помогите пожалуйста.
C++ Таблица значений функиции Вывести таблицу значений функции на отрезке с промежутком h = 15градусов (оператор while). Буду очень благодарен за помощь. http://www.cyberforum.ru/cpp-beginners/thread976857.html
C++ Сортировка динамического массива
Добрый вечер, прошу помочь с одним заданием. Дана матрица размером NxM. Упорядочить ее столбцы по возрастанию их наименьших элементов. Мой неработающий код: #include <iostream> #include <cstdlib> using namespace std; void main () { const int n = 3, m = 3
C++ Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр.
Пожалуйста, помогите решить задачу. В строке символов вводимой с клавиатуры, вычислить количество разных цифр.
C++ модернизированный калькулятор на СИ http://www.cyberforum.ru/cpp-beginners/thread976836.html
ПРошу небольшой помощи. имеется калькулятор #include <iostream> #include <stdlib.h> #include <math.h> using namespace std; int main() { double r1,r2,r3;
C++ Строка: Написать программу, вычисляющую сумму положительных чисел, которые вводятся в клавиатуре. Написать программу, вычисляющую сумму положительных чисел, которое вводятся в клавиатуре. А отрицательные числа не считать и вводит максимально 10 числ: 15 16 10 -98 6 -5 8 сумма чисел: 55 и так только 10 чисел должно быть. подробнее

Показать сообщение отдельно
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
14.10.2013, 02:30  [ТС]     Почему появляются дополнительный сиволы в строке?
Точно! Совсем вылетело из головы, что при объявления массива str1[8] элементы у него от 0 до 7 а не до 8, спасибо всем за объяснения)

но тут я заметил закономерность, что, если объявить char str1[9]; и присвоить аналогично, только 9 символов (например:"qwertyuio"), то такой проблемы нет, и с char str1[10];, если провести аналогичные действия с 10-ю символами, тоже проблем нет, и с char str1[11]; также. А вот если объявить char str1[12]; и присвоить 12 символов появляются те же проблемы с переполнением, а потом также начиная с char str1[13]; до char str1[15]; всё нормально "жуётся", но char str1[16] ненормально и т.д. и т.п.
В общем переполнение возникает на всех массивах с числом элементов кратных 4, а 4 - это длина типа int в байтах, которым и объявлен num1, плюс если у всех элементов объекта obg1 переменная num1 будет 0, то переполнение у массива str1 ни при каком количестве элементов не будет, тут явно какая-то связь Так вот) я хочу понять почему так происходит и что это за связь) это как-то относится к специфическому распределении памяти у структуры? И ещё, почему значения после присваивании num1 обнуляются, если поменять местами объявления в структуре и если количество элементов у str1 кратно 4?
 
Текущее время: 01:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru