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

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

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

Author24 — интернет-сервис помощи студентам
С клавиатуры вводятся массив целых чисел. Проверить наблюдается ли в массиве чередование положительных и отрицательных элементов.
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru