Member 12886403 Ответов: 2

Кто-нибудь может мне помочь?


Это кодирование;
#include <iostream>
использование пространства имен std;

int getdata_two(int c [], int startcnt, int endcnt);

главный(){
int a[30]= {0,1,2,3,4,5,6......29}
int startcnt [6] = {11,11,19,19,24,24}, endcnt[6]={16,16,23,23,27,27}, dataval=68;

if (dataval % 2 ==0)
dataval=getdata_one(a, startcnt[0], endcnt[0]);
else if (dataval % 2 ==1)
dataval=getdata_two(a, startcnt[1], endcnt[1]);

переключатель (dataval % 2){
случай 0:
dataval=getdata_three(a, startcnt[2], endcnt[2]);
перерыв;
корпус 1:
dataval=getdata_four(a, startcnt[3], endcnt[3]);
}

int getdata_two(int c [], int startcnt, int endcnt){
инт datacnt=endcnt;
while (startcnt< endcnt){
datacnt+=c[startcnt];
startcnt++;
}
возврат данных;
}


//
1) Мой первый вопрос,
если [(dataval % 2 ==0)
dataval=getdata_one(a, startcnt[0], endcnt[0]);
else if (dataval % 2 ==1)
dataval=getdata_two(a, startcnt[1], endcnt[1]);

это вызов функции, верно? Теперь условие выполнено (dataval % 2 ==0), его вызовет определение функции - - - - >
int getdata_two(int c [], int startcnt, int endcnt){
инт datacnt=endcnt;
while (startcnt< endcnt){
datacnt+=c[startcnt];
startcnt++;
}
возврат данных;
}

2) Что подразумевается под datacnt = endcnt? Это передача номера массива, который равен 6, или содержимого внутри массива?

3) для - - - >; while (startcnt < endcnt), с каким условием его пытаются сравнить? это номер массива, который равен (6< 6), или общее содержимое внутри массива startcnt и endcnt, которое равно 108 и 132 соответственно?

4) После того,как он выполнил определение функции, он продолжит операцию, которая является- - - - >
переключатель (dataval % 2){
случай 0:
dataval=getdata_three(a, startcnt[2], endcnt[2]);
перерыв;
корпус 1:
dataval=getdata_four(a, startcnt[3], endcnt[3]);
}
так ведь? Почему он сломал Тхо? Спасибо, что ответили на мой вопрос :)

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

Помогите мнеее, чтобы выяснить путь, по которому эта кодировка пойти. р/S : сори за плохой английский

[no name]

Возникает вопрос: "Что бы вы сделали, если бы выиграли в лотерею?" Когда человек отвечает на тот или иной вопрос, спрашивающий отвечает: "Вы не выиграете в лотерею, просто сделайте это в любом случае". Мой вопрос к вам таков: "как бы вы решили эту проблему, если бы CodeProect не прошел?"

2 Ответов

Рейтинг:
1

Patrice T

Отладчик покажет вам, что делает ваш код.

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

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


Рейтинг:
1

Jochen Arndt

Я настоятельно рекомендую прочитать учебник по C++, например Язык C++ - Учебники По C++ [^].

Там посмотрите наверх (в соответствии с вашими точками):


  1. Функции
  2. Переменные и типы
  3. Оператор сравнения
  4. Операторы и управление потоком (циклы, break заявление)