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

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

Войти
Регистрация
Восстановить пароль
 
TheSecret
11 / 26 / 2
Регистрация: 20.09.2013
Сообщений: 546
#1

В одномерном массиве, который состоит из n действительных элементов, вычислить: - C++

07.11.2013, 22:52. Просмотров 508. Ответов 12
Метки нет (Все метки)

Народ значит стоит пере домной такая вот задача:
В одномерном массиве, который состоит из n действительных элементов, вычислить:
а) количество элементов массива, больше за С;
б) произведение элементов массива, расположенных после максимального по модулю элемента;
в) превратить массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом - все положительные(элементы, которые равняются 0, считать положительные).
Вот пытался сделать пункт а:
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
#include <math.h>
#include <conio.h>
#include <iostream.h>
int aa(const int *ma, int nn, int cc);
int main()
{ int n,c,mas[15],i,a,d;
cout<<endl<<"Vvedite kolichectvo elementov maciva(ot 2 do 15):";
cin>>n;
if(n<2||n>15)
 {
  cout<<endl<<"Ne korektnoe kolichectvo elementov!";
 }
else
 {
  for(i=0; i<n; i++)
    {
     cout<<endl<<"Vvedite ["<<i+1<<"]-element maciva:";
     cin>>mas[i];
    }
  clrscr();
  cout<<endl<<"Vvedenie maciv:";
  for(i=0; i<n; i++)
   {
    cout<<mas[i]<<"|";
   }
  cout<<endl<<"Vvedite C:";
  cin>>c;
  aa(mas,n,c);
  cout<<endl<<"Kolichectvo elementov bolche chem C="<<a<<";";
 }
 getch();
 return 0;
}
int aa(const int *ma, int nn, int cc)
{int i;
 int a;
 for(i=0; i<nn; i++)
 {
  if(ma[i]>cc)
   a++;
 }
 return a;
}
Подскажите что не так, что где подправить или напишите полностью программу!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2013, 22:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В одномерном массиве, который состоит из n действительных элементов, вычислить: (C++):

В однородном массиве, который состоит из n действительных елементав, вычислить: - C++
В однородном массиве, который состоит из n действительных елементав, вычислить: 1. максимальный по модулю элемент массива; 2.суму...

В одномерном массиве, который состоит из n вещественных элементов подсчитать номер минимального элемента массива - C++
В одномерном массиве, который состоит из n вещественных элементов подсчитать: 1) номер минимального элемента массива; 2)сумму...

В одномерном массиве, состоящий из n действительных элементов, вычислить: - C++
В одномерном массиве, состоящий из n действительных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от A до...

В одномерном массиве, состоящий из N действительных элементов, вычислить: - C++
В одномерном массиве, состоящий из N действительных элементов, вычислить: -Сумму отрицательное элементов массива; -Произведение...

В одномерном массиве, состоящем из N действительных элементов, вычислить: - C++
1. В одномерном массиве, состоящем из N действительных элементов, вычислить: • Максимальный по модулю элемент массива; ...

В одномерном массиве, состоящем из N действительных элементов, вычислить - C++
В одномерном массиве, состоящем из N действительных элементов, вычислить: • Максимальный по модулю элемент массива; • Сумму элементов...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Avalan4er
3 / 3 / 0
Регистрация: 30.11.2012
Сообщений: 41
07.11.2013, 23:21 #2
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
int kolvo_bolshe_c(int *mas, int razmer, int c)
{
    int kolvo = 0;
 
    for(int i = 0; i < razmer; i++)
    {
        if(mas[i] > c) kolvo++;
    }
    return kolvo;
}
 
int proizvedenie(int *mas, int razmer)
{
    int maksimaln = 0;
    int proizv = 1;
 
    for(int i = 0; i < razmer; i++)
    {
        if(abs(mas[maksimaln]) < abs(mas[i]))
        {
            maksimaln = i;
        }
    }
 
    for(int i = maksimaln+1; i < razmer; i++)
    {
        proizv *= mas[i];
    }
 
    return proizv;
}
 
void raspolozh(int *mas1, int *mas2, int razmer)
{
    int mas2_counter = 0;
 
    for(int i = 0; i < razmer; i++)
    {
        if(mas1[i] < 0)
        {
            mas2[mas2_counter] = mas1[i];
            mas2_counter++;
        }
    }
 
    for(int i = 0; i < razmer; i++)
    {
        if(mas1[i] >= 0)
        {
            mas2[mas2_counter] = mas1[i];
            mas2_counter++;
        }
    }
}
 
int main()
{
    int n,c;
    int *mas;
 
    cout << "Vvedite kol-vo elementov massiva: ";
    cin >> n;
    if(n < 2) return -1;
    mas = new int[n];
 
    for (int i = 0; i < n; i++)
    {
        cout << "Vvedite ["<<i+1<<"]-element maciva: ";
        cin >> mas[i];
    }
    system("CLS");
 
    cout << "Vvedenie maciv:\n";
    for(int i=0; i<n; i++)
    {
        cout << mas[i] << "\t";
    }
    cout << endl;
 
    cout<<endl<<"Vvedite C: ";
    cin>>c;
 
    int kolvo = kolvo_bolshe_c(mas, n, c);
    cout << "Kolichectvo elementov bolche chem C: " << kolvo << endl;
 
    int proizv = proizvedenie(mas, n);
    cout << "Proizvedenie posle maksimalnogo: " << proizv << endl;
 
    int *mas2 = new int[n];
    raspolozh(mas, mas2, n);
    cout << "Raspolozhit elementi: " << endl;
    for(int i = 0; i < n; i++)
    {
        cout << mas2[i] << '\t';
    }
    cout << endl;
 
    system("PAUSE");
    return 0;
}
1
TheSecret
11 / 26 / 2
Регистрация: 20.09.2013
Сообщений: 546
07.11.2013, 23:34  [ТС] #3
Цитата Сообщение от Avalan4er Посмотреть сообщение
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
int kolvo_bolshe_c(int *mas, int razmer, int c)
{
    int kolvo = 0;
 
    for(int i = 0; i < razmer; i++)
    {
        if(mas[i] > c) kolvo++;
    }
    return kolvo;
}
 
int proizvedenie(int *mas, int razmer)
{
    int maksimaln = 0;
    int proizv = 1;
 
    for(int i = 0; i < razmer; i++)
    {
        if(abs(mas[maksimaln]) < abs(mas[i]))
        {
            maksimaln = i;
        }
    }
 
    for(int i = maksimaln+1; i < razmer; i++)
    {
        proizv *= mas[i];
    }
 
    return proizv;
}
 
void raspolozh(int *mas1, int *mas2, int razmer)
{
    int mas2_counter = 0;
 
    for(int i = 0; i < razmer; i++)
    {
        if(mas1[i] < 0)
        {
            mas2[mas2_counter] = mas1[i];
            mas2_counter++;
        }
    }
 
    for(int i = 0; i < razmer; i++)
    {
        if(mas1[i] >= 0)
        {
            mas2[mas2_counter] = mas1[i];
            mas2_counter++;
        }
    }
}
 
int main()
{
    int n,c;
    int *mas;
 
    cout << "Vvedite kol-vo elementov massiva: ";
    cin >> n;
    if(n < 2) return -1;
    mas = new int[n];
 
    for (int i = 0; i < n; i++)
    {
        cout << "Vvedite ["<<i+1<<"]-element maciva: ";
        cin >> mas[i];
    }
    system("CLS");
 
    cout << "Vvedenie maciv:\n";
    for(int i=0; i<n; i++)
    {
        cout << mas[i] << "\t";
    }
    cout << endl;
 
    cout<<endl<<"Vvedite C: ";
    cin>>c;
 
    int kolvo = kolvo_bolshe_c(mas, n, c);
    cout << "Kolichectvo elementov bolche chem C: " << kolvo << endl;
 
    int proizv = proizvedenie(mas, n);
    cout << "Proizvedenie posle maksimalnogo: " << proizv << endl;
 
    int *mas2 = new int[n];
    raspolozh(mas, mas2, n);
    cout << "Raspolozhit elementi: " << endl;
    for(int i = 0; i < n; i++)
    {
        cout << mas2[i] << '\t';
    }
    cout << endl;
 
    system("PAUSE");
    return 0;
}
Спасибо большое) +1 тебе) сейчас буду сидеть разбираться)

Добавлено через 4 минуты
Цитата Сообщение от TheSecret Посмотреть сообщение
Спасибо большое) +1 тебе) сейчас буду сидеть разбираться)
Что такое using namespace std;
у меня на него ошибку выбивает!!!
Потом в 30 строке пишет Multiple declaration for 'i' такое же в 51,79,97 строке
в 76 строке Function 'system' should have a prototype
0
WebMacTep
21 / 21 / 1
Регистрация: 03.10.2013
Сообщений: 128
07.11.2013, 23:36 #4
TheSecret, насколько я знаю: using namespace std – это определение пространства имён. Тут ошибки быть не должно. Какой компилятор у Вас?
1
TheSecret
11 / 26 / 2
Регистрация: 20.09.2013
Сообщений: 546
07.11.2013, 23:41  [ТС] #5
Цитата Сообщение от WebMacTep Посмотреть сообщение
TheSecret, насколько я знаю: using namespace std – это определение пространства имён. Тут ошибки быть не должно. Какой компилятор у Вас?
использую виндов 8, 64 разрадную
поэтому Borland C++ через DOSbox
если можете, скиньте ссылку на нормальный!
0
Avalan4er
3 / 3 / 0
Регистрация: 30.11.2012
Сообщений: 41
07.11.2013, 23:46 #6
Цитата Сообщение от TheSecret Посмотреть сообщение
использую виндов 8, 64 разрадную
поэтому Borland C++ через DOSbox
если можете, скиньте ссылку на нормальный!
уф...борланд...
если попроще, то Code::Blocks сойдет, там есть сборки со встроенным компилятором, если посерьезнее, то VIsual Studio
P.S. Под w8 x64 работают обе прекрасно (проверенно на себе)
0
WebMacTep
21 / 21 / 1
Регистрация: 03.10.2013
Сообщений: 128
07.11.2013, 23:50 #7
TheSecret, кстати, Avalan4er прав. Code::Blocks – очень дельный компилятор (ссылка).
0
TheSecret
11 / 26 / 2
Регистрация: 20.09.2013
Сообщений: 546
07.11.2013, 23:55  [ТС] #8
Цитата Сообщение от Avalan4er Посмотреть сообщение
уф...борланд...
если попроще, то Code::Blocks сойдет, там есть сборки со встроенным компилятором, если посерьезнее, то VIsual Studio
P.S. Под w8 x64 работают обе прекрасно (проверенно на себе)
визуалка не устраивает, так как надо будет сдавать на стандартном борланде) ток без досбокс
а первое даже не слышал такое, можно ссылку

Добавлено через 4 минуты
Все исправил, заработало) Вылажую код, может кому то пригодиться еще
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 <iostream.h>
#include <math.h>
#include <conio.h>
int kolvo_bolshe_c(int *mas, int razmer, int c)
{
    int kolvo=0;
    for(int i=0; i<razmer; i++)
    {
        if(mas[i]>c) kolvo++;
    }
    return kolvo;
}
int proizvedenie(int *mas, int razmer)
{
    int maksimaln=0;
    int proizv=1;
    for(int i=0; i<razmer; i++)
    {
        if(abs(mas[maksimaln]) < abs(mas[i]))
        {
            maksimaln=i;
        }
    }
    for(i=maksimaln+1; i<razmer; i++)
    {
        proizv *=mas[i];
    }
 
    return proizv;
}
void raspolozh(int *mas1, int *mas2, int razmer)
{
    int mas2_counter = 0;
    for(int i=0; i<razmer; i++)
    {
        if(mas1[i]<0)
        {
            mas2[mas2_counter] = mas1[i];
            mas2_counter++;
        }
    }
    for(i=0; i<razmer; i++)
    {
        if(mas1[i]>=0)
        {
            mas2[mas2_counter]=mas1[i];
            mas2_counter++;
        }
    }
}
int main()
{
    int n,c;
    int *mas;
    cout<<"Vvedite kol-vo elementov massiva: ";
    cin>>n;
    if(n<2) return -1;
    mas=new int[n];
    for (int i=0; i<n; i++)
    {
        cout<<"Vvedite ["<<i+1<<"]-element maciva: ";
        cin>>mas[i];
    }
    cout<<"Vvedenie maciv:\n";
    for(i=0; i<n; i++)
    {
        cout<<mas[i]<<"\t";
    }
    cout<<endl;
    cout<<endl<<"Vvedite C: ";
    cin>>c;
    int kolvo=kolvo_bolshe_c(mas, n, c);
    cout<<"Kolichectvo elementov bolche chem C: "<<kolvo<<endl;
    int proizv = proizvedenie(mas, n);
    cout<<"Proizvedenie posle maksimalnogo: "<<proizv<<endl;
    int *mas2 = new int[n];
    raspolozh(mas, mas2, n);
    cout<<"Raspolozhit elementi: "<<endl;
    for(i=0; i<n; i++)
    {
        cout<<mas2[i]<<'\t';
    }
    cout<<endl;
    getch();
    return 0;
}
0
Avalan4er
3 / 3 / 0
Регистрация: 30.11.2012
Сообщений: 41
07.11.2013, 23:57 #9
Цитата Сообщение от TheSecret Посмотреть сообщение
визуалка не устраивает, так как надо будет сдавать на стандартном борланде) ток без досбокс
а первое даже не слышал такое, можно ссылку
Интересно, где это требуют именно Borland C++. Если честно, я думал что борланд уже никем не используется...
Ну а если вам нужен именно борланд, то можете вначале (до int main()) поставить
C++
1
int i = 0;
и везде в for
C++
1
int i = 0
заменить на
C++
1
i=0
а
C++
1
using namespace std;
убрать, если ваш код у вас нормально компилировался
P.S. что-то я загнул с заменами...
0
TheSecret
11 / 26 / 2
Регистрация: 20.09.2013
Сообщений: 546
08.11.2013, 00:00  [ТС] #10
Цитата Сообщение от Avalan4er Посмотреть сообщение
Интересно, где это требуют именно Borland C++. Если честно, я думал что борланд уже никем не используется...
Ну а если вам нужен именно борланд, то можете вначале (до int main()) поставить
C++
1
int i = 0;
и везде в for
C++
1
int i = 0
заменить на
C++
1
i=0
а
C++
1
using namespace std;
убрать, если ваш код у вас нормально компилировался
та я уже выше выложил исправленное все)
0
Sendy
1 / 1 / 0
Регистрация: 07.11.2013
Сообщений: 13
08.11.2013, 00:12 #11
Да
C++
1
using namespace std;
это фича которая в вижуалке появилась. В кодеблоксе и других прогах, нужно либо в настройках, ставить другой компилятор, либо делать все другим способом.

А про
C++
1
for(int i=0; i<15;i++)
в большинстве компиляторов требуется чтобы все элементы были инициализированы 1 раз, а мы в каждом for объявляем новый элемент который уже существует, вот компиль и ругается.
0
Avalan4er
3 / 3 / 0
Регистрация: 30.11.2012
Сообщений: 41
08.11.2013, 00:16 #12
[QUOTE=Sendy;5302525]Да
C++
1
using namespace std;
это фича которая в вижуалке появилась. В кодеблоксе и других прогах, нужно либо в настройках, ставить другой компилятор, либо делать все другим способом.

хм, что-то не замечал, чтобы в gcc надо было что-то настраивать для использования using namespace std
использую Code::Blocks "из коробки" и все отлично компилится
0
Sendy
1 / 1 / 0
Регистрация: 07.11.2013
Сообщений: 13
08.11.2013, 00:26 #13
[QUOTE=Avalan4er;5302537]
Цитата Сообщение от Sendy Посмотреть сообщение
Да
C++
1
using namespace std;
это фича которая в вижуалке появилась. В кодеблоксе и других прогах, нужно либо в настройках, ставить другой компилятор, либо делать все другим способом.

хм, что-то не замечал, чтобы в gcc надо было что-то настраивать для использования using namespace std
использую Code::Blocks "из коробки" и все отлично компилится
Я на данный момент не могу точно сказать, но помню точно, что в вижулке проще работать с пространствами имен. ... Ах да.... если не ошибаюсь то в кодеблоксе если открыть просто фаил, а не проект, и скомипилить там строчку using namespace std, то компиль будет ругаться. Там вроде библиотеки над будет добавить...... Да че обсуждать) У каждого свой подход)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2013, 00:26
Привет! Вот еще темы с ответами:

В одномерном массиве, состоящем из N действительных элементов, вычислить: - C++
В одномерном массиве, состоящем из N действительных элементов, вычислить: 1) - сумму положительных элементов массива; 2)- Произведение...

С++ В одномерном массиве, состоящий из N действительных элементов - C++
бубу благодарен. В одномерном массиве, состоящий из N действительных элементов, вычислить: -Сумму отрицательное элементов массива; ...

В одномерном массиве В, состоящий из N действительных элементов, из промежутка [-30; 30] - C++
В одномерном массиве В, состоящий из N действительных элементов, из промежутка , вычислить произведение элементов массива, расположенных...

"В массиве, который состоит из 15 элементов, найти номера непарных элементов - C++
Собственно вот: &quot;В массиве, который состоит из 15 элементов, найти номера непарных элементов. Результаты вывести на экран.&quot; Язык Си. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.11.2013, 00:26
Ответ Создать тему
Опции темы

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