Вложенные циклы

Вложенные циклы

Дано K наборов ненулевых целых чисел. Признаком завершения каждого
набора является число 0. Найти количество наборов не являющихся
знакочередующимися.
Код программы:

#include <iostream>
using namespace std;

int main()
{
setlocale(0, "");
int K,j,kz,kol; float A,B;
for(j=1,j<=K,j++;kol++;kz++)
{kz=0;kol=1;}
cout<<"Введите число K=";
cin>>K;
if(B!=0)
{
if(kol=1)
{A==B;}
else if(A*B<0)
{kz++;}
else 
{A==B;}
cout<<"Значение B="<<endl;
}
if(kol==kz)
cout<<"Значение="<<endl;
else
cout<<"Нет значений"<<endl;
system("PAUSE");
return 0;
}

Что то запутался,помогите

Наглядный пример как не надо писать программы. И я не к тому, что сама программа неправильная, а к стилю написания текста программы: нечитаемо совершенно (((

Комментировать этот кодобред (автор, без обид!) не буду, поскольку неправильно всё.

tobruk, попробуй разобраться в этом:

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
    setlocale(LC_ALL, "Russian");

    int k;
    cout << "Количество наборов чисел (K): ";
    cin >> k;
    cout << endl;

    int set_counter = 0;    // количество наборов не являющихся знакочередующимися
    int num_counter;        // счётчик чисел в наборе
    int num;                // вводимое число
    bool signflip;          // набор знакочередующийся?
    bool positive;          // последнее число было положительное?
    bool first_num;         // первое число в наборе

    for (int i = 0; i < k; i++) {
        signflip = true;
        first_num = true;
        num_counter = 0;
        while (true) {
            cout << "Введите число из " << i+1 << "-го набора чисел: ";
            cin >> num;
            if (0 == num) {     // введён 0?
                signflip &= num_counter > 1;    // набор может быть знакопеременным 
                                                // только при наличии более 2-х чисел
                break;          // выход из цикла while
            }
            num_counter++;      // учесть очередное число

            if (first_num) {            // если это первое число,
                positive = num > 0;     // выставить соответствующий знак
                first_num = false;
            }
            else {                          // это не первое число!
                if (num < 0) {              // введённое число отрицательное,
                    if (positive) {         // а предыдущее число - положительное
                        positive = false;   // ок! меняем знак в соответствии со знаком num
                    }
                    else {                  // а предыдущее число - отрицательное
                        signflip = false;   // упс! идут подряд два отрицательных числа
                    }
                }
                else {                      // введённое число положительное,
                    if (!positive) {        // а предыдущее число - отрицательное
                        positive = true;    // ок! меняем знак в соответствии со знаком num
                    }
                    else {                  // а предыдущее число - положительное
                        signflip = false;   // упс! идут подряд два положительных числа
                    }
                }
            }
        }
        if (!signflip) {
            cout << "--- Набор не является знакочередующимся." << endl;
            set_counter++;
        }
        else {
            cout << "+++ Набор является знакочередующимся." << endl;
        }
        cout << endl;
    }

    cout << set_counter << " наборов не являются знакочередующимися." << endl;

    system("pause");
    return 0;
}

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.