Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ishkins
1 / 1 / 0
Регистрация: 22.10.2015
Сообщений: 21
#1

Вывести соседние элементы массива, если они одного знака - C++

20.11.2015, 19:50. Просмотров 920. Ответов 13
Метки нет (Все метки)

Дан массив чисел. Если в нем есть два соседних элемента одного знака, выведите эти числа. Если соседних элементов одного знака нет - не выводите ничего. Если таких пар соседей несколько - выведите первую пару.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2015, 19:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести соседние элементы массива, если они одного знака (C++):

Из заданного массива целых чисел, который представлен в виде связанного списка, удалить все нулевые элементы, если они существуют - C++
Помогите пожалуйста написать программу: Из заданного массива целых чисел, который представлен в виде связанного списка, удалить все...

Вывести все элементы массива, встречающиеся более одного раза - C++
Дана целочисленная последовательность (одномерный массив целых чисел). Написать программу нахождения количества различных элементов этой...

Переставить соседние элементы массива - C++
Доброй ночи всем. Подскажите или намекните как подойти к решению данной задачи. Прошу коды не выкладывать хочу сделать сам. Спасибо...

Переставить соседние элементы массива - C++
Переставьте соседние элементы массива (A c A, A c A и т.д.). Если элементов нечетное число, то последний элемент остается на своем месте.

Поменять соседние элементы массива - C++
Поменять местами первую и вторую, третью и четвертую букву и т. Д. Где ошибка? include <iostream> using namespace std; ...

Переставить соседние элементы массива - C++
Напишите программу, которая переставляет соседние элементы массива (1-й элемент поменять с 2-м, 3-й с 4-м и т.д. Если элементов нечетное...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
KinGelaim
7 / 7 / 2
Регистрация: 25.03.2015
Сообщений: 133
20.11.2015, 21:19 #2
Например так:
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    //Создание и заполнение массива
    int n;
    cout << "Введите кол-во элементов в массиве: ";
    cin >> n;
    int* A = new int[n];
    for (int i = 0; i < n; i+=2)
    {
        A[i] = rand()% 100 * -1;
        A[i + 1] = rand() % 100;
    }
    for (int i = 0; i < n; i++)
        swap(A[i], A[rand() % n]);
    cout << endl << "Массив: " << endl;
    for (int i = 0; i < n; i++)
    {
        cout << A[i] << " ";
    }
    cout << endl << endl;
    //Задание 1
    for (int i = 0; i < n; i++)
    {
        if (A[i]>0 && A[i + 1]>0 || A[i] < 0 && A[i + 1] < 0)
        {
            cout << "Два соседних элемента одного знака: " <<A[i] << " " << A[i + 1];
            cout << endl <<endl;
            break;
        }
    }
    return 0;
}
0
ishkins
1 / 1 / 0
Регистрация: 22.10.2015
Сообщений: 21
20.11.2015, 21:25  [ТС] #3
Компилятор не знает, что такое #include "stdafx.h"
Это можно как-то поправить? (использовать что-нибудь другое)

Добавлено через 3 минуты
И, если можно пояснения к коду.
0
KinGelaim
7 / 7 / 2
Регистрация: 25.03.2015
Сообщений: 133
20.11.2015, 21:57 #4
А так?
C++
1
2
3
4
5
6
7
#include <SDKDDKVer.h>
#include <stdio.h>
#include <tchar.h>
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
0
ishkins
1 / 1 / 0
Регистрация: 22.10.2015
Сообщений: 21
20.11.2015, 21:58  [ТС] #5
Предоставьте полный код, если вас не затруднит
0
KinGelaim
7 / 7 / 2
Регистрация: 25.03.2015
Сообщений: 133
20.11.2015, 22:00 #6
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
40
#include <SDKDDKVer.h>
#include <stdio.h>
#include <tchar.h>
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    //Создание и заполнение массива
    int n;
    cout << "Введите кол-во элементов в массиве: ";
    cin >> n;
    int* A = new int[n];
    for (int i = 0; i < n; i += 2)
    {
        A[i] = rand() % 100 * -1;
        A[i + 1] = rand() % 100;
    }
    for (int i = 0; i < n; i++)
        swap(A[i], A[rand() % n]);
    cout << endl << "Массив: " << endl;
    for (int i = 0; i < n; i++)
    {
        cout << A[i] << " ";
    }
    cout << endl << endl;
    //Задание 1
    for (int i = 0; i < n; i++)
    {
        if (A[i]>0 && A[i + 1]>0 || A[i] < 0 && A[i + 1] < 0)
        {
            cout << "Два соседних элемента одного знака: " << A[i] << " " << A[i + 1];
            cout << endl << endl;
            break;
        }
    }
    system("PAUSE");
    return 0;
}
0
ishkins
1 / 1 / 0
Регистрация: 22.10.2015
Сообщений: 21
20.11.2015, 22:04  [ТС] #7
А для чего эта строка?
C++
1
 A[i] = rand() % 100 * -1;
Тем более, с ошибкой.

Компиляция: [Error] 'rand' was not declared in this scope
0
KinGelaim
7 / 7 / 2
Регистрация: 25.03.2015
Сообщений: 133
20.11.2015, 22:05 #8
alexshch, а если будут все положительные элементы больше 1000?

Добавлено через 55 секунд
ishkins, создает рандомные значение от -100 до 0
0
ishkins
1 / 1 / 0
Регистрация: 22.10.2015
Сообщений: 21
20.11.2015, 22:06  [ТС] #9
В первой строке вводится количество элементов в массиве. Во второй строке вводятся элементы массива. Все числа отличны от нуля.
C клавиатуры вводим.
0
KinGelaim
7 / 7 / 2
Регистрация: 25.03.2015
Сообщений: 133
20.11.2015, 22:07 #10
Я не знаком с рандомом в С++ и это лучшее до чего я додумался, используйте свой массив, заполненный в ручную
0
ishkins
1 / 1 / 0
Регистрация: 22.10.2015
Сообщений: 21
20.11.2015, 22:08  [ТС] #11
Ну рандом здесь в принципе не нужен, сейчас буду пробовать.
0
KinGelaim
7 / 7 / 2
Регистрация: 25.03.2015
Сообщений: 133
20.11.2015, 22:10 #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    int n;
    cout << "Введите кол-во элементов в массиве: ";
    cin >> n;
    int* A = new int[n];
    for (int i = 0; i < n; i ++)
    {
        cin >> A[i];
    }
    cout << endl << "Массив: " << endl;
    for (int i = 0; i < n; i++)
    {
        cout << A[i] << " ";
    }
0
flash_back
5 / 5 / 0
Регистрация: 07.02.2016
Сообщений: 65
Завершенные тесты: 1
16.06.2016, 15:44 #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
 
using namespace std;
 
int main() {
    int n;
    cin >> n;
    vector <int> v;
    for (int i = 0; i < n; i++){
        int temp;
        cin >> temp;
        v.push_back(temp);
    }
    for (int i = 1; i < n; i++) {
        if (v[i] > 0 && v[i-1] > 0 || v[i] < 0 && v[i-1] < 0) {
        cout << v[i-1] << " " << v[i];
        break;
        }
    }
    return 0;
}
0
MirkiN
2 / 2 / 0
Регистрация: 06.12.2016
Сообщений: 10
21.12.2016, 14:36 #14
Как сделать?

Формат выходных данных
Выведите ответ на задачу. Элементы выводятся в порядке неубывания.
Sample Input:
5
-1 2 3 -1 -2
Sample Output:
2 3
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2016, 14:36
Привет! Вот еще темы с ответами:

Переставить соседние элементы массива - C++
1. Переставьте соседние элементы массива . 2. S=1+3+5+7+ …, всего n слагаемых.

Вывести все элементы массива входящие в него более одного раза - C++
нужно вывести из заданного пользователем массива все элементы, встречающиеся в нём более одного раза. я вроде бы решил задачу, но...

Поменять местами элементы соседние массива - C++
В массиве из 100 целых чисел поменять местами соседние элементы (1-й со 2-м, 3-й по 4-м и т.д.). Правильно ли я зделал? #include...

Переставить соседние элементы массива: 1-й со 2-м, 3-й с 4-м и т.д. Нумерация элементов начинается с единицы - C++
Входные данные Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.12.2016, 14:36
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru