С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
unikalen
-2 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 65
#1

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

26.06.2013, 14:45. Просмотров 231. Ответов 3
Метки нет (Все метки)

Вот код мне нада доделать разницу между первим отрицательним и вторим положительним елементом !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2013, 14:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос в массиве вычислить разницу между первим отрицательним и вторим положительним елементом (C++):

В масиве определить разницу елементов между первим - и вторим + елементом - C++
В масиве определить разницу елементов между первим - и вторим + елементом #include "stdafx.h" #include <iostream> #include...

В массиве определить разницу между максимальным и минимальным элементами - C++
напишите пожалуста код!!!! У массиве A(n) (n<=12) определить разницу между максимальным и минимальным елементами.

Вычислить разницу между двумя датами - C++
1. есть ли функция которая вычислит сколько прошло например с 1934 до 2014. 2. как вычислить сраж роботы есть год поступления на роботу и...

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

Вычислить разницу в днях между двумя заданными датами - C++
Парни надо написать программу, которая будет вычислять разницу в днях между двумя заданными датами.

Вычислить разницу элементов массива, что расположены между первым отрицательным та вторым положительным элементами - C++
Всем привет,ребят подкорректируйте пожалуйста ф-цию,то работает не правильно :cry: Вот задание: Вычислить разницу элементов массива, что...

3
Gepar
1178 / 534 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
26.06.2013, 14:47 #2
Цитата Сообщение от unikalen Посмотреть сообщение
Вот код
Вот где?
0
unikalen
-2 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 65
26.06.2013, 14:49  [ТС] #3
@Gepar, Сори завтикал) вот
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <cmath>
#include <cstdlib>
#include <conio.h>
using namespace std;
 
 
int arefm( int arr[], int n) {
    int count = 0;
 
    double s = 0;
 
    for ( int i = 0; i < n; i++ ) {
        s += arr[i];
        count++;
    }
    double q = ( s / n );
    int ix = 0, d = 0;
 
    for (int i = 0; i < n; i++) {
        if(arr[i] <= (q + 1) && arr[i] >= (q - 1))
            return arr[i];
 
    }
    return -1;
 
 
}
void b(int *arr, int size) {
    int s=0;
    for (int i=0; i<size; i++) {
        s+=arr[i];
    }
    int sr=s/size;
    int ind=0;
    int min=abs(arr[ind]-sr);
    for (int i=0; i<size; i++) {
        if(abs(arr[i]-sr)>min)continue;
        else {
            min=abs(arr[i]-sr);
            ind =i;
        }
    }
    int m=arr[ind];
    cout << "Nomer = " << ind << endl << "Element = " << m << endl;
}
int raznica(int arr[], int n ) {
 
    int k = 0, d = 0, l1 = 0, l2 = 0 ;
    int razn = 0;
    for(int i = 0 ; i < n; i++) {
        if (arr[i] < 0) {
            k++;
            if( k == 1 )
                l1 = i;
        }
 
        if (arr[i] > 0) {
            d++;
            if( d == 2 )
                l2 = i;
        }
    }
 
    //razn = arr[l1];
    for (int i = l1 + 1; i < l2; i++)
        //razn = razn - arr[i];
        razn = arr[i] - arr[i+1];
 
    return razn;
 
}
 
void printMas(int arr[], int n) {
    for( int i = 0; i < n; i++ ) {
 
        cout << "A[" << i << "]" << " = " << arr[i]  << endl;
 
        //cout<<"\n";sum+=arr[i];
    }
    cout<<"\n";
}
 
void elements(int arr[], int n) {
    int par=0 , npar=n-1;
    int *mas= new int[n];
    for( int i = 0; i < n; i++ ) {
        if(arr[i]%2 == 0) {
            mas[par] = arr[i];
            par++;
        } else {
            mas[npar] = arr[i];
            npar--;
        }
    }
 
    for(int i = 0 ; i < n ; i ++)
        arr[i] = mas[i];
    //printMas(arr, n );
    delete [] mas;
}
 
 
 
 
int main() {
    const int N = 10;
    int *arr = new int[N];
    int sum = 0;
    int arTwoDel = 0;
    srand(time(NULL));
    for ( int i =0; i <N; i++ ) {
        arr[i] = rand() %10 -5;
    }
 
 
    printMas(arr, N);
 
    //elements(arr, N);
 
 
    elements(arr,N);
 
    printMas(arr, N);
    b(arr,N);
    //cout << sum;
    //cout<<"\n";
    //arTwoDel = sum/N;
    //cout << arTwoDel;}
 
    //int f = arefm( arr, N );
    //
    //if(f==-1)
    //  //cout<<"NoFIND"<<endl;
    //print("NoFind", -1);
    //   //cout << " ix = " << f << endl;
    //print(" ix = ", f);
 
    //int raznc = raznica( arr, N );
    ////cout << "raznica = " << razn;
 
    //print("Raznica = ", raznc);
    //
 
 
    delete [] arr;
 
 getch();
    return 0;
}
0
Gepar
1178 / 534 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
26.06.2013, 23:30 #4
@unikalen, теги для кода вверху над полем для ввода сообщения не просто так же.
По поводу кода: мало желания разбираться в коде где функции называються b, arefm, printMas, raznica да ещё и так плохо сформатированы что аж слились в одно, такой код совершенно нечитаемый и желание помочь из-за этого может ни у кого и не возникнуть же

Вообще вот тебе пример набросал твоего второго задания, твоя задача разобраться и втулить в свой код, раз уж ты сам это написал то сам и разбирайся.
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
int main()
{
    //наш массив и его размер
    const int SIZE = 10;
    int array[SIZE] = {1, 2, 3, 4, 5, -6, 7, 8, 9, 10};
 
    //ищем первый отрицательный элемент
    int* firstNegative = NULL;
    for(int i=0;i<SIZE && !firstNegative;i++)
        if(array[i] < 0)
            firstNegative = &array[i];
 
    //ищем второй положительный элемент
    int* secondPositive = NULL;
    bool firstFind = false;
    for(int i=0;i<SIZE && !secondPositive;i++)
        if(array[i] > 0)
            if(!firstFind)
                firstFind = true;
            else
                secondPositive = &array[i];
 
    //если такие элементы были найдены
    if(firstNegative && secondPositive)
    {
        //если первый отрицательный был после первого положительного то поменяем указатели местами
        //(для удобства навигации от первого до второго)
        if(firstNegative > secondPositive)
        {
            int* temp = firstNegative;
            firstNegative = secondPositive;
            secondPositive = temp;
        }
 
        //переменная под сумму
        int sum = 0;
        while(++firstNegative < secondPositive)
            sum += *firstNegative;
 
        cout<<"Sum = "<<sum<<endl;
    }
    else
        cout<<"Something";//что-то там придумаешь в объяснение мол не подходит массив под условия задачи
}
1
26.06.2013, 23:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2013, 23:30
Привет! Вот еще темы с ответами:

В одномерном массиве вычислить разницу между максимальным и минимальным элементами - Pascal ABC
Дан массив из 15 целых чисел из диапазона [-10, 10). Вычислите в нем разницу между максимальным и минимальным элементами.

Вычислить разницу между несколькими числами - Turbo Pascal
те кто понимает в турбо паскале,помогите,я начинающий программист,так вот мне нужно составить такую программу,чтобы она вычисляла разницу...

Как вычислить разницу между датами - Visual Basic .NET
Господа подскажите в программе нужно узнать разницу времени между началом заезда автомобиля и его завершения . для примера время начала и...

.NET 4.x Вычислить разницу в днях между двумя датами - C#
using System; class Rerr { static void Main() { const ulong DayInYear = 365; const ulong DayInMonth...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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