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

Второй отрицательный элемент заменить минимальным - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вытягивание текущего уровня звука в TrackBar http://www.cyberforum.ru/cpp-beginners/thread1719729.html
Как мне реализовать на форме взятие текущего уровня звука (чтобы при открытии формы бегунок Trackbar'а уже находился не на нуле, а отображал уровень звука)?
C++ В матрице найти наибольший по модулю элемент Задание:"В данной действительной прямоугольной матрице размером nxm найти наибольший по модулю элемент. Получить матрицу порядка (n-1)xm путем выбрасывания из исходной матрицы строки, в которой расположен элемент с найденным значением" Не могу понять, почему конечная матрица (n-1)xm не выводится, видимо, я где-то сильно ошиблась. Еще элементы данной матрицы выводятся в столбик, как сделать,... http://www.cyberforum.ru/cpp-beginners/thread1719708.html
Нужен совет. Не могу понять, где ошибка. с++. задача о рюкзаке C++
Условие задачи:имеются m предметов с номерами от 0 до m-1, для каждого из которых известна масса и стоимость. Определить какие предметы необходимо положить в рюкзак, чтобы их стоимость была максимальной, а вес не превышал Q килограммов. Я решил реализовать через вектора, поиск цены максимально надо сделать бэктрекингом, не могу понять почему не возвращает maxv? заранее извиняю за говнокод,...
L символам строки присвоить заданное значение C++
Установка L символов строки s в значение t, начиная с позиции n
C++ Версия программы http://www.cyberforum.ru/cpp-beginners/thread1719703.html
Я написал функцию, которая при компиляции программы увеличивает число на 1 в файле version.txt. Как сделать так, что бы компилятор делал из числа в этом файле константу, которую программа может использовать?
C++ Ошибка из-за разных версий VS или "Как вытащить работающий код из проекта" Здравствуйте. Вот проект, который создавался для версий VS до 2008. Я его переделал под свои нужны, пересохранил в версии 2013. У меня нормально работает, но теперь не могу запустить ее же в 2012. А т.к. приходится запускать в разных версиях в разных местах, смысла нет мне самому 2012 ставить и сохранять именно в ней, это не решит проблему. Поэтому обращаюсь к знающим товарищам. Как то можно... подробнее

Показать сообщение отдельно
Azaz888
1 / 1 / 0
Регистрация: 06.09.2015
Сообщений: 31
24.04.2016, 16:22     Второй отрицательный элемент заменить минимальным
Здравствуйте)Помогите пожалуйста, запуталась(Нужно заменить именно второй элемент. Например: -10,9,-2,3. (в примере заменится -2 на -10). Минимальное уже найдено в функции. Измените функцию void z1.

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include<iostream>
using namespace std;
 
int input()//Ввод размера массива
{
    int n; 
    cout<<"Введите размер массива:";
    cin>>n;
    while(n<=0)
    {
        cout<<"Введите размер массива снова:";
        cin>>n;
    }
    return n;
}
 
void input(int*p,int n)//Ввод вручную
{
    for(int i(0);i<n;i++)
    {
        cin>>*p++;
    }
}
 
void display(int*p,int n)//Вывод массива на экран
{
    for(int i(0);i<n;i++)
        cout<<"A"<<"["<<i+1<<"] ="<<*p++<<"\n";
}
 
int min(int *A, int n)//Поиск минимального для задания 1
{
    int min = *A;
    for (int i(0); i < n; i++)
    {
        int r = *A++;
        if(r<min)
        {
            min=r;
        }
    }
    return min;
}
 
void z1 (int&d,int *&A,int&q) // Задание 1
{
    int i(0);int j(1);
    int minus(0);
    int *a=new int[d*10];
    for(int u=0;u<d;u++)
    {
        a[u]=A[u];
    }
 
    for(i;i<=d;)
    do
    {
        if(*(A+i)<0)
        {
            minus++;
            if(*(a+j)<0)
            {
                *(A+j)=q;
                minus++;
            }
        }
        else
        {
            i++;
            i++;
            j=i+1;
        }
    }while((i<=d)&&(j<=d));
    if(minus<=0)
        cout<<"Отрицательных чисел нет";
    
}
 
 
int main()
{
    setlocale(0,"");
    int n=input();
    
    int*A=new int[n*10];
    int N;
         input(A,n);
    display(A,n);
 
    cout<<"\nЗадание 1 Замена 2 отриц.элемент массива =минимальный.\n";
    int d=n;
    int q=min(A,d);
    z1(n,A,q);
    cout<<"Массив после изменений:"<<endl;
    display(A,d);
 
    
    delete[]A;
 
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru