Shubham_Kumar Ответов: 1

В чем проблема? Массив?


ПОЧЕМУ МОЙ КОД НЕ ВЫПОЛНЯЕТСЯ ИДЕАЛЬНО
КСТАТИ, Я ИСПОЛЬЗУЮ DEV C++

ЗАРАНЕЕ СПАСИБО ЗА ЛЮБУЮ ПОМОЩЬ

Что я уже пробовал:

#include<iostream>
using namespace std;
int main()
{
	
	int i=0;
	int d=0;
	string a[]={"a","b","c","d"};
	string b[]={};
	
	for(i;i<5;i++)
	{
		
		b[d] = a[0]+a[i];
		cout<< b[d];
		d++;
	}
	
	return 0;
}

Richard MacCutchan

Что вы имеете в виду "не исполняется идеально"?

Richard MacCutchan

У вас есть только 4 записи в массиве a, но вы пытаетесь получить доступ к пяти. Вы также должны добавить endl до конца вашей жизни. cout заявление, чтобы вы могли ясно видеть результат.

И, пожалуйста, выключите CAPS LOCK на клавиатуре; писать во всех заглавных буквах считается криком.

Shubham_Kumar

Слава богу ты этого не знал

Richard MacCutchan

Вам нужно научиться делать свою собственную отладку, прежде чем публиковать ее здесь. Даже будучи новичком, вы должны уметь видеть простые ошибки, подобные этой.

[no name]

Совсем наоборот. Ваш код делает именно то, что вы ему сказали, идеально. Вам нужно научиться объяснять людям проблемы без крика.

Shubham_Kumar

На самом деле моя казнь должна быть
АБ ПЕРЕМЕННОГО ТОКА ...
НО КАК ТОЛЬКО ОТКРЫВАЕТСЯ ОКНО КОНСОЛИ ОНО ВЫЛЕТАЕТ

[no name]

Почему вы продолжаете кричать на людей? Узнайте, как отлаживать свой код.

jeron1

"у шлд"!?

За это над тобой надо смеяться.

Shubham_Kumar

В порядке.

[no name]

И ты кричишь. Кроме того, я сделал вам предложение. 2 на самом деле.
1. перестаньте кричать на людей, которых вы пытаетесь заставить помочь вам.
2. Научитесь отлаживать свой код.

Shubham_Kumar

Что касается вины.в коде

1 Ответов

Рейтинг:
12

OriginalGriff

Поскольку мы понятия не имеем, что он должен делать, а тем более то, что вы считаете "не идеально работающим", мы не можем помочь. Но ты можешь!

Компиляция не означает, что ваш код верен! :смеяться:
Подумайте о процессе разработки как о написании письма: успешная компиляция означает, что вы написали письмо на правильном языке - например, на английском, а не на немецком, - а не то, что письмо содержало сообщение, которое вы хотели отправить.

Итак, теперь вы входите во вторую стадию разработки (на самом деле это четвертая или пятая, но к более ранним стадиям вы придете позже): тестирование и отладка.

Начните с рассмотрения того, что он делает и чем это отличается от того, что вы хотели. Это важно, потому что это дает вам информацию о том, почему он это делает. Например, если программа предназначена для того, чтобы позволить пользователю ввести число, а он удваивает его и печатает ответ, то если ввод / вывод был таким:

Input   Expected output    Actual output
  1            2                 1
  2            4                 4
  3            6                 9
  4            8                16
Тогда совершенно очевидно, что проблема заключается в бите, который удваивает его-он не прибавляет себя к себе или умножает его на 2, он умножает его на себя и возвращает квадрат входного сигнала.
Таким образом, вы можете посмотреть на код, и очевидно, что он где-то здесь:
int Double(int value)
   {
   return value * value;
   }

Как только у вас появится идея, что может пойти не так, начните использовать отладчик, чтобы выяснить, почему. Поставить точку останова на строке:
int i=0;

и запустите свое приложение. Подумайте о том, что должна делать каждая строка кода перед ее выполнением, и сравните это с тем, что она на самом деле делала, когда вы использовали кнопку "шаг вперед" для выполнения каждой строки по очереди. Он сделал то, что вы ожидали? Если да, то переходите к следующей строке.
Если нет, то почему? Чем это отличается?

Это навык, и его стоит развивать, поскольку он помогает вам как в реальном мире, так и в развитии. И, как и все навыки, он совершенствуется только при использовании!

Да, я, вероятно, мог бы сказать вам, в чем заключается "проблема" - если бы у меня было хоть какое - то представление о том, для чего предназначен этот код, - но сделать это самому нетрудно, и в то же время вы узнаете что-то действительно стоящее!