Проблема с кодом программы! Неинициализированная локальная переменная

программирование С++

Вот сам код программы :
include <iostream>
#include <ctime>
#include <Windows.h>
#include<stdlib.h>
using namespace std;
void main()
{
SetConsoleOutputCP(1251);
srand(time(NULL));
const int size=4;
int chislo;
int d[size];
// загадываение числа компьютером
while(true)
{
chislo=rand()%(9999-1000+1)+1000;
cout<<chislo<<endl;
d[0]=chislo/1000;
d[1]=chislo/100%10;
d[2]=chislo/10%10;
d[3]=chislo%10;
if(d[0]!=d[1] && d[0]!=d[4] && d[0]!=d[3] && d[1]!=d[2] && d[1]!=d[3] && d[2]!=d[3])
{
break;
}
}
int d2[size];

while(true)
{
cout<<"Введите 4-х значное число - ";
cin>>chislo;
cout<<endl;
d2[0]=chislo/1000;
d2[1]=chislo/100%10;
d2[2]=chislo/10%10;
d2[3]=chislo%10;
if(d2[0]!=d2[1] && d2[0]!=d2[4] && d2[0]!=d2[3] && d2[1]!=d2[2] && d2[1]!=d2[3] && d2[2]!=d2[3])
{
break;
}
else
{
cout<<"В вашем числе есть повторяющиеся цифры! Введите ещё раз! "<<endl;
}

}
int kol=0;
for(int i=0; i<size; i++)
{
for(int j=0; j<size; j++)
{
if(d[i]==d2[j])
{
kol++;
}
}
}
cout<<endl<<kol<<" <-- встретилось раз!";

cout<<endl;
}

Вот что пишет компилятор :


1>c:\users\масёк\desktop\быки и коровы.cpp(22): warning C4700: использована неинициализированная локальная переменная "d"
1>c:\users\масёк\desktop\быки и коровы.cpp(38): warning C4700: использована неинициализированная локальная переменная "d2"
Ответы:
Может, из-за того, что индекс 4 неправильный?
потому что правильнее будет так
int *d=calloc(size, sizeof(int));
Наверное, ругается из-за того, что перед циклами массивы d и d2 не были проинициализированы, а после них идёт проверка этих массивов. как бы из виду потерял. :)
Пробуйте int d[size] = {0}; и  то же самое для d2.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.