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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Составление и отладка программ с циклами http://www.cyberforum.ru/cpp-beginners/thread910627.html
Вычислить y=sqrt(exp(x*1/k)) по разностной формуле Ньютона y=y0+(1/k)*((x/pow(y0,k-1))-y0) с точностью fabs(y-y0)<=eps=0,00001 , при k=7, x=283.75 , начальное приближение взять y0=1 Помогите составить программу, заранее благодарен!
C++ Для заданного натурального k и действительного x подсчитать следующее выражение Для заданного натурального k и действительного x подсчитать следующее выражение: http://www.cyberforum.ru/cpp-beginners/thread910615.html
Циклы для начинающих С++ C++
Уважаемые программисты прошу помочь,:help: с заданием т.к сам не понимаю. Дали задание на Циклы :В переменную последовательно вводится N чисел.Сколько числе больше своих соседей Слева? Заранее спасибо.
C++ Метод push_back заносит некорректные данные в вектор
Есть структура вида: struct PadStyleDef { std::string name; std::string padShapeType; float shapeWidth; float shapeHeight; }; И есть две переменные типа этой структуры. Одна из них - вектор. В процессе работы я заполняю все поля обычной переменной и через push_back добавляю в вектор - всё как обычно. Но почему-то правильно отрабатывает далеко не всегда. Например, заполнив структуру,...
C++ Алгоритм (сдвиг элеметов матрицы) http://www.cyberforum.ru/cpp-beginners/thread910597.html
Ребят, мне нужно сделать сдвиг элеметов матрицы, программу я написал, осталось дописать алгоритм сдвига, точнее написать его. К примеру матрица = {50 11 73} {2 1 64} = массив= {50 11 73 2 1 64} матрица = массиву, то есть я хочу, созданную матрицу перевести в одномерный массив размером СТРОКИ*СТОЛБЦЫ, и в этом массиве создать алгоритм сдвига элементов, и перевести...
C++ Два приложения работают над одним файлом Не могу найти ответ на вопрос о специфике работы с файлами, быть может просто чего-то не догоняю. Суть в этом: предположим одна программа открывает файл на запись, изменяет его, сохраняет, но до того, как первая программа сохранила изменения, этот файл открывается другой программой, при этом и она делает свои изменения, и тоже сохраняет, так вот вопрос, что же будет в итоге? Вступят ли в силу... подробнее

Показать сообщение отдельно
Scatten
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 50
24.06.2013, 11:47     Сформировать новый массив куда переписать сначала положительные, затем отрицательные и затем нулевые
Задан массив. Сформировать новый массив куда переписать сначала положительные, затем отрицательные и затем нулевые.

Что мне нужно сделать в этом коде не меняя функцию main, чтобы всё заработало? Подскажите пожалуйста!

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <cstdlib>
#include <iostream>
using namespace std;
 
class Massiv
{
private:
 
    float *a;
    int n;
 
public:
 
Massiv (float x)
{   n = x;
    a = new float[n];
}
 
void get()
{
    for (int i = 0; i < n; i++)
      {
          while (true)
          {
              cin.unsetf(ios::skipws);
              cin >> a[i];
              if (cin.good())
              {
                  cin.ignore(8, '\n');
                  break; }
              cin.clear();
              cin.ignore(150, '\n');
              cout << "\nIncorrect input. Please try again "; }}
}
 
void show()
{   for (int i = 0; i < n; i++)
    {
    cout << a[i] << " ";    }
    cout << "\n";
}
 
void sort(Massiv *p){
     int k = 0;
     p->a = new float[n];
     for (int i = 0; i < n; i++)
     {
         if (a[i] > 0)
         {
             p->a[k] = a[i]; k++;   } }
     for (int i = 0; i < n; i++)
     {
         if (a[i] < 0)
         {
             p->a[k] = a[i]; k++;   } }
     for (int i = 0; i < n; i++)
     {
         if (a[i] == 0)
         {
             p->a[k] = a[i]; k++;   } }
     delete []p->a;
}
};
 
int main()
{   int n;
    while (true)
    {
    cout << "Type a number of elements: ";
    cin.unsetf(ios::skipws);
    cin >> n;
    if (cin.good() && n > 1)
    {
        cin.ignore(8, '\n');
        break; }
    cin.clear();
    cin.ignore(150, '\n');
    cout << "\nIncorrect input. Please try again "; }
cout << "\nType every element of your array. ";
Massiv Z(n), Y(n);
Z.get();
Z.show();
Y.sort(&Z);
Y.show();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru