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

Переписать в массив М1 все отрицательные элементы массива М - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ скажите как переделать задачу из Pascal в Си http://www.cyberforum.ru/cpp-beginners/thread1074210.html
Вот условие: Найти во входной строке самую внутреннюю пару скобок {...} и переписать в выходную строку содержащиеся между ними символы. Во входной строке фрагмент удаляется. Вот её решение в Pascal: uses crt; var s,s1:string; n,i,j,k,i1,i2:byte; f:boolean; begin
C++ сортировка массива программа работает правильно, единственное нужно использовать сортировку (по убыванию как мне сказали) :) /*Задан неупорядоченный числовой массив, состоящий из n элементов. 7. Используя сортировку массива, определить количество элементов, совпадающих по значению с максимальным. */ #include <iostream> using namespace std; int SumMaxElement(int mas , int n, int &cnt)//функция сумм... http://www.cyberforum.ru/cpp-beginners/thread1074199.html
Чем дальше в лес, тем больше дров. Не соображу, как собрать в кучу C++
К окончанию курсов по С++ нам приурочили мини-дипломную работу. Сначала я посчитала, что ничего сложного в этом нет. Но по мере моих попыток разобраться в этом стала понимать, что теперь я окончательно запуталась. Суть задачи такова: требуется написать программу, используя абстрактную фабрику, dll и прочие прелести языка)))) Добавлено через 2 минуты Суть проги: это магазин. есть класс...
Составить программу, которая создает очередь из произвольного количества элементов C++
1.Составьте программу, которая создает очередь из произвольного количества элементов. Информационная часть динамического элемента должна состоять из двух строк. Организуйте обработку каждого элемента: печать строк из информационной части и их первых символов. 2.Составьте программу, которая создает стек из произвольного количества элементов. Информационная часть динамического элемента должна...
C++ Как получить остаток от деления целго числа? http://www.cyberforum.ru/cpp-beginners/thread1074184.html
по условию найти число делится на 2 (парное) #include <iostream> using namespace std; int main() { int a; cin >> a;
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1)произведение и количество отрицательных элементов массива; 2)сумму и количество положительных элементов массива, расположенных до максимального элемента. Определить их процентное содержание в массиве. 3)Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоя-щие на нечетных местах. ... подробнее

Показать сообщение отдельно
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
17.01.2014, 19:01     Переписать в массив М1 все отрицательные элементы массива М
cooller_94, я бы при генерации первого массива подсчитал кол-во отрицательных. и конкретно под него выделил память для результирующего. зачем перевыделять память без необходимости?
ИМХО
да и поубирать бы эти устрашающие инклуды

Добавлено через 7 минут
в общем, вот мой вариант:
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 <iostream>
#include <cstdlib>
#include <ctime>
 
int main()
{
    std::srand((size_t)(std::time)(nullptr));
 
    size_t arraySize;
    std::cout << "N: ";
    std::cin >> arraySize;
 
    size_t negativeElementsCounter(0);
    int *firstArray = new int [arraySize];
    std::cout << "First array: " << std::endl;
    for (size_t i = 0; i < arraySize; i++) {
        std::cout << (*(firstArray + i) = std::rand() % 25 - 10) << ' ';
        negativeElementsCounter += (*(firstArray + i) < 0) ? 1 : 0;
    }
    std::cout << std::endl;
 
    size_t index(0);
    int *resultArray = new int [negativeElementsCounter];
    std::cout << "Result array: " << std::endl;
    for (size_t i = 0; i < arraySize; i++) {
        if (*(firstArray + i) < 0) {
            std::cout << (*(resultArray + index++) = *(firstArray + i)) << ' ';
        }
    }
    std::cout << std::endl;
 
    delete [] firstArray;
    delete [] resultArray;
 
    std::system("pause");
    return 0;
}
 
Текущее время: 15:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru