(язык программирования Си) ребят помогите, не успеваю сдать в срок((Пусть дан одномерный...

0 голосов
52 просмотров

(язык программирования Си) ребят помогите, не успеваю сдать в срок((
Пусть дан одномерный числовой массив, составленный из целых чисел. Его можно получить либо вводом с клавиатуры, либо с помощью датчика случайных чисел. Количество элементов заранее не известно.Определить номер последней пары соседних элементов с одинаковыми знаками. Найти количество тех элементов, значения которых положительны и не превосходят заданного числа А. Нарисовать блок схему.



Информатика (15 баллов) | 52 просмотров
0

какой признак окончания ввода?

0

никакого. Вот всё, что дано

0

ну ведь надо знать, когда останавливать ввод чисел!

0

я сделаю прекращение ввода, когда вводишь 0

0

в том и дело, что я подходила, спрашивала у преподавателя, а он мне сказал "подумай" тут я сломалась(

0

что значит "номер последней пары с одинаковыми знаками" ?? то есть допустим там идет: 5 6 -8 -2 2 -4 5 6 - пары с одинаковыми знаками 5,6 -8,-2 5,6 - тогда будет типа 3-ая пара? и в ответ цифра 3?

0

да

Дан 1 ответ
0 голосов
Правильный ответ

#include
#include
#include
using namespace std;

int main()
{
   int position = 0;

    int i,j, ch,a,s;
    int* mass = NULL;
    cout << "Заданное число А: ";<br>    cin >> a;

    while (1)

    {
        cin >> ch;
        if (ch == 0) break;
        mass = (int*)realloc(mass, (position+1)*sizeof(int));
        mass[position] = ch;
        position++;

    }
    s=0;
    j=0;
    for (i=0;i        if (((mass[i] > 0) && (mass[i+1] > 0)) || ((mass[i] < 0) && (mass[i+1] < 0)))
            j++;
        if (((mass[i] > 0) && (mass[i] < a)))
            s++;
    }

    cout << "Номер поседней пары: " << j << endl;<br>    cout << "Положительно и не больше А: " << s << endl;<br>

    return 0;
}


(288 баллов)
0

окончание ввода - 0

0

спасибо большое))))