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

Почему переменной присваивается произвольное значение("мусор")? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как рационально применять if http://www.cyberforum.ru/cpp-beginners/thread1152751.html
когда идет несколько условий подряд зависимых от первого условия (если первое исполнится другие не должны выполняться) каком случае меньше ресурсов PC будет использовано так: if(условие){}...
C++ Фрагментация RAM Почитал о программировании встроенных систем,там говорилось о фрагментации памяти. Например: Есть элемент типа int (4 байта) и массив типа char из 2х элементов (2 байта).Памяти у нас есть 6 кб.... http://www.cyberforum.ru/cpp-beginners/thread1152740.html
C++ Создать программу, создающую корректный HTML-файл с форматированием, содержащий весь текст из файла
Здраствуйте. Задание: Имеется два входных файла – файл_с_текстом и файл_словаря. Файл_с_текстом содержит текст в виде последовательностей текстовых строк, разделенных стандартным разделителем...
C++ Выделение памяти при наследовании классов
Здравствуйте! У меня есть метод который, читает память занимаемую классом. Есть несколько базовых классов и два наследуемых класса - Circle и EqTriangle. Программа выводит 168б ( Circle - 72б и...
C++ Использование циклы с параметром http://www.cyberforum.ru/cpp-beginners/thread1152722.html
Вычислить седьмой член последовательности, если дана формула {x}_{i}={x}_{i-1}*2+i/2 и известно что начальное значение равно 2
C++ Напишите программу, которая выводит на экран содержимое файла и выводит сумму чисел файла Напишите программу, которая выводит на экран содержимое файла D:\numbers.txt. и выводит сумму чисел файла. Вынужден снова просить помощи, если реально, объясните пожалуйста код с помощью... подробнее

Показать сообщение отдельно
ыфырф1992
25 / 25 / 12
Регистрация: 08.04.2012
Сообщений: 200

Почему переменной присваивается произвольное значение("мусор")? - C++

21.04.2014, 02:35. Просмотров 898. Ответов 20
Метки (Все метки)

Мой черновой вариант кода. Он очень черновой так что многое не суть важно, но переменной х я присваиваю значение 0. Если после приглашения ввести набор чисел, мы введем что вроде 11111111111111111111111111111111111111111111111111111, то после нажатие enter х получает произвольное значение. Вопрос почему? Проблема решается перестановкой объявления х. Но я хочу понять почему так происходит.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
#include<clocale>
using std::cout;using std::endl;using std::cin;
int main() {
    std::setlocale(LC_ALL, "Russian_Russia.1251");char z='1';int x=0;
    do {
    char str[25]={0};
    cout<<"Введите набор чисел, буквы из ряда чисел будут убраны автоматически, нельзя вводить ряд из одних букв или ряд длинее 20 символов"<<endl;
    cin>>str;
    for(int i=0;i<25;i++){ 
        if (str[20]!='\0'){cout<<"Ряд слишком линный пожалуста Введите более короткий ряд"<<endl;cin.ignore(255, '\n');break;}
        if (!(str[i]>47 && str[i]<58)&& str[i]!='\0'){
            for (int p=i;p<22;p++){
                str[p]=str[p+1];
            }
        i--;} 
    }
    if (x>=2) {
        cout<<"Если хотите окончить нажмите 0"<<endl;
        z=cin.get();
    }
    for(int i=0;i<25 && str[i]!='\0';i++){cout<<str[i]<<endl;}
    }
    while(z='0');
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru