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

Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот - C++

Восстановить пароль Регистрация
 
alexandria_59
22 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 19
11.01.2014, 02:33     Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот #1
1. Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот, а затем измененный массив отсортируйте по возрастанию.
2. Дана квадратная матрица. Постройте вектор, элементы которого являются наибольшими числами каждой строки матрицы.
Все это с помощью указателей, помогите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 02:33     Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот
Посмотрите здесь:

Преобразовать массив так, чтобы сначала располагались все положительные элементы, а потом отрицательные C++
Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом — все отрицательные C++
Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. C++
Дан массив а1,а2,,…,аn. Переставить его элементы так, чтобы в начале массива расположились все его неотрицательные элементы, а в конце – отрицательные C++
Дан массив а1+ a2+…+an Переставить его элементы так чтобы в начале массива расположились все его неотрицательные элементы, а в конце - отрицательные C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4928 / 2671 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
11.01.2014, 02:40     Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот #2
У нас запрещено выкладывать несколько вопросов в одной теме. Перечитайте правила форума.
alexandria_59
22 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 19
11.01.2014, 02:44  [ТС]     Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот #3
Извините за неправильно созданную тему, это все одна задача с 2 пунктами.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
11.01.2014, 12:12     Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот #4
Цитата Сообщение от alexandria_59 Посмотреть сообщение
1. Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот, а затем измененный массив отсортируйте по возрастанию.
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
41
42
43
44
45
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int main()
{
    std::srand(std::time_t(0));
 
    size_t arraySize;
    std::cout << "Size of array: ";
    std::cin >> arraySize;
 
    int *array = new int [arraySize];
    std::cout << "Array: " << std::endl;
    for (size_t i = 0; i < arraySize; i++) {
        std::cout << (*(array + i) = std::rand() % 25 - 10) << ' ';
    }
    std::cout << std::endl;
 
    std::cout << "New array: " << std::endl;
    for (size_t i = 0; i < arraySize; i++) {
        std::cout << (*(array + i) *= -1) << ' ';
    }
    std::cout << std::endl;
 
    for (size_t i = 0; i < arraySize - 1; i++) {
        for (size_t j = i + 1; j < arraySize; j++) {
            if (*(array + i) > *(array + j)) {
                int temp = *(array + i);
                *(array + i) = *(array + j);
                *(array + j) = temp;
            }
        }
    }
 
    std::cout << "Sorted array: " << std::endl;
    for (size_t i = 0; i < arraySize; i++) {
        std::cout << *(array + i) << ' ';
    }
    std::cout << std::endl;
 
    delete [] array;
    std::system("pause");
    return 0;
}
Добавлено через 11 минут
Цитата Сообщение от alexandria_59 Посмотреть сообщение
Дана квадратная матрица. Постройте вектор, элементы которого являются наибольшими числами каждой строки матрицы.
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
41
42
43
44
45
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main()
{
    std::srand(std::time_t(0));
 
    size_t matrixSize;
    std::cout << "Size of matrix: ";
    std::cin >> matrixSize;
 
    int *array = new int [matrixSize];
    int **matrix = new int *[matrixSize];
    std::cout << "Matrix: " << std::endl;
    for (size_t i = 0; i < matrixSize; i++) {
        *(matrix + i) = new int [matrixSize];
        for (size_t j = 0; j < matrixSize; j++) {
            std::cout << std::setw(5) << (*(*(matrix + i) + j) = std::rand() % 25);
        }
        std::cout << std::endl;
 
        int rowMaximal(*(*(matrix + i) + 0));
        for (size_t j = 0; j < matrixSize; j++) {
            rowMaximal = rowMaximal < *(*(matrix + i) + j) ? *(*(matrix + i) + j) : rowMaximal;
        }
        *(array + i) = rowMaximal;
    }
 
    std::cout << "Array: " << std::endl;
    for (size_t i = 0; i < matrixSize; i++) {
        std::cout << *(array + i) << ' ';
    }
    std::cout << std::endl;
 
    for (size_t i = 0; i < matrixSize; i++) {
        delete [] *(matrix + i);
    }
    delete [] matrix;
    delete [] array;
 
    std::system("pause");
    return 0;
}
alexandria_59
22 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 19
11.01.2014, 12:46  [ТС]     Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот #5
Большое спасибо! Выручили.
Yandex
Объявления
11.01.2014, 12:46     Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот
Ответ Создать тему
Опции темы

Текущее время: 17:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru