Вопрос Программирование c++. требуется помощь с простеньким кодом.

Регистрация
16 Ноя 2012
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
Начинающий программист. Не пашет код. Не знаю, в чем может быть проблема. Цель кода: нахождение последовательности трёх чисел, которые при суммировании образуют ноль.



#include <iostream>

using namespace std;

void main()

{

int arr[6];

int ark[15];

int i = 0, h = 1, p = 1, c=1, z, pu;

double wan, to;

while (i < 6)

{

cout << "arr" << i << endl;

cin >> arr;

i++;

}

while (h < 5)

{

while (p < 5)

{

while (c < 5)

{

if

(arr[c] + arr[p] + arr[h] == 0)

{

ark[z] = arr[h];

ark[z + 1] = arr[p];

ark[z + 2] = arr[c];

z = z + 3;

}

c++;

}

p++;

}

h++;

}

while (pu<15)

{



cout<<ark[pu]<<endl;

pu++;

}
 
Первая ошибка в том, что вложенные циклы while не имеют сброса, поэтому каждый считает только один раз от 1 до 4.Вторая ошибка - как минимум диапазон счета не затрагивает 0 элемент и последний пятый, поэтому они вообще не проверяются.Для полного перебора следует использовать for с непересекающимися значениями (чтобы не считались совпадающие элементы или уже посчитанные только в другом порядке. for(h=0;h
 
самое простое и полезное - прогнать под отладчиком по шагам и смотреть, что происходит. Если не компилируется - внимательно читать сообщения компилятора и разбираться, что они означают. Например, если в программе не всем открывающим скобкам соответствуют закрывающие, то компилятор будет ругаться.
 
#include
using namespace std;

struct Helper {
static void task(int a, int b, int c, int x) {
const auto sum = a + b + c;
if (sum == x) {
cout
 
#include
using namespace std;

int main()
{
const int ARRAY_SIZE = 6;
const int RESULT_SIZE = 15;
int arr[ARRAY_SIZE];
int ark[RESULT_SIZE];
int i = 0, h = 1, p = 1, c = 1, z = 0, pu = 0;

while (i < ARRAY_SIZE)
{
cout
 
Назад
Сверху