0 / 0 / 0
Регистрация: 25.01.2014
Сообщений: 24

С клавиатуры вводятся массив целых чисел. Проверить наблюдается ли в массиве чередование положительных и отрицательных элементов

25.01.2014, 22:05. Показов 1761. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С клавиатуры вводятся массив целых чисел. Проверить наблюдается ли в массиве чередование положительных и отрицательных элементов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
 
int main()
{   const int N=9;
    int arr[N];
    int i,b=0;
 
 
 
    for(i=0;i<N;i++)
         {printf("Number %u:",i+1);
          scanf("%d",&arr[i]);
         }
 
    for(i=0;i<N;i++)
    {printf("%d ",arr[i]);
    }
 
   for(i=0;i<N;i++)
        {
            if(arr[i]<0&&arr[i+1]>0)
            {
 
            }
        }
 
    for(i=0;i<N;i++)
        {if(arr[i]>0&&arr[i+1]<0)
            {
 
            }
        }
    printf("b=%d a=\n",b);
 
    return 0;
}
что в теле цикла нужно написать?? у меня были свои варианты, но получается чертовщина какая-то.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2014, 22:05
Ответы с готовыми решениями:

Чередование положительных и отрицательных чисел в массиве
Помогите написать код: Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа....

В массиве A, содержащем 10 положительных и отрицательных целых чисел, вычислить сумму положительных элементов
2.В массиве A, содержащем 10 положительных и отрицательных целых чисел, вычислить сумму положительных элементов. Элементы массива вводить с...

Задан массив, состоящий из целых положительных и отрицательных чисел. Создать новый массив из положительных элементов старого
Задача: Задан массив, состоящий из целых положительных и отрицательных чисел. Создать новый массив из положительных элементов старого ...

5
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.01.2014, 22:33
Важно помнить, что 0 - ни положительное ни отрицательное число.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
 
bool foo(int *arr, const int size)
{
    if (arr[0] == 0)
        return false;
    bool lastPos = arr[0] > 0; // истина если последнее число - положительное
 
    for (int i = 1; i < size; i++)
    {
        bool currPos = arr[i] > 0; // истина если последнее число - положительное
        if (arr[i] == 0 || lastPos == currPos) // если число - ноль или знаки совпали
        {
            std::cout << arr[i] << std::endl;
            return false;
        }
        lastPos = currPos; // записываем в последнее значение текущее
    }
 
    return true;
}
 
int main()
{
    const int N = 5; // количество чисел последовательности
    int A[N];
    // заполняем массив
    for (int i=0; i < N; i++)
        std::cin >> A[i];
    std::cout << std::boolalpha << foo(A, N) << std::endl;
}
0
0 / 0 / 0
Регистрация: 25.01.2014
Сообщений: 24
26.01.2014, 15:17  [ТС]
Спасибо, что ответили. По поводу нуля я знал, что он не относится. Я не понимаю седьмую строчку arr[0] > 0; ведь это первый элемент>0, при чём тут тогда последнее число?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
26.01.2014, 20:26
abra-kadabra, если вы заметили - мы дальше двигаемся от 1 элемента. Первое сравнение нужно чтобы установить начальную позицию.
0
0 / 0 / 0
Регистрация: 25.01.2014
Сообщений: 24
27.01.2014, 03:03  [ТС]
неа, не заметил. ааа кажется понял. спасибо

Добавлено через 3 часа 13 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
 
int main()
{   const int N=10;
    int arr[N];
    int b=1;
 
 
    for(int i=0;i<N;i++)
         {printf("Number %u:",i+1);
          scanf("%d",&arr[i]);
         }
 
    for(int i=0;i<N;i++)
    {printf("%d \n",arr[i]);
    }
 
 
   for(int i=0;i<N-1;i++)
        {
       if(((arr[i]>0)&&(arr[i+1]<0))||((arr[i]<0)&&(arr[i+1]>0)))
             {b=0;}
            else
              {b=1;
              break;
              }
 
        }
 
if(b>0)
{
    printf("ne cher");
}
else
{
    printf("cher");
}
    return 0;
}
вот то, что у меня получилось. Я не совсем понял почему последнее значение + указатели мы и вовсе не проходили. Вопрос следующий как сделать вот эту задачу без if?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
27.01.2014, 03:32
Цитата Сообщение от abra-kadabra Посмотреть сообщение
Я не совсем понял почему последнее значение + указатели мы и вовсе не проходили.
Потому что сравниваем с элементом, который идет далее. За последним элементом ничего не идет, не с чем сравнивать.

Код оформляйте в теги CPP. Задачу без if решать можно лишь сделав его использование завуалированным - например через циклы. Но по сути, элементарная логика для сравнений тут нужна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.01.2014, 03:32
Помогаю со студенческими работами здесь

С клавиатуры вводятся N целых чисел. Найти количество отрицательных среди них
С клавиатуры вводятся N целых чисел. Найти количество отрицательных среди них.

Вводятся числа с клавиатуры, найти сумму положительных и произведение отрицательных чисел
Задача 2. Вводя числа с клавиатуры без ограничения их кол-ва ( конец ввода - 0 ), найти сумму положительных и произведение отрицательных...

С клавиатуры вводятся n произвольных чисел. сколько среди них положительных, отрицательных и равных 0?
Решите паскаль! Пожалуйста!

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

Дан массив целых чисел A. Найти суммы положительных и отрицательных элементов массива
Дан массив целых чисел A. Найти суммы положительных и отрицательных элементов массива, используя функцию определения суммы.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru