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

Правильно ли и в каком случае может быть ошибка? - C++

Восстановить пароль Регистрация
 
Рустам777
 Аватар для Рустам777
3 / 3 / 0
Регистрация: 13.04.2011
Сообщений: 32
08.03.2012, 00:38     Правильно ли и в каком случае может быть ошибка? #1
Определить произведение элементов массива, расположенных между максимальным и «центральным» элементами массива (предполагается, что число элементов - нечетное и максимальный единственный). Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием причины.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream> 
#include <conio.h> 
using namespace std; 
int main()  
{  
int n = 11;  
int mas[n];  
int aver,min,pr=1;  
for(int j=0;j<=n;j++) 
{  
        cin>>mas[j]; 
}  
min = 0;  
aver = (n-1)/2 +1; 
for(int j=min;j<=aver;j++) 
pr*= mas[j]; 
cout << "Произведение элементов от минимального к среднему" <<"[" << pr << "]" << endl;  
getch(); 
return 0;  
}
Правильно ли написал программу? и в каком случае тут может быть ошибка чтоб выдать об этом сообщение?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2012, 00:38     Правильно ли и в каком случае может быть ошибка?
Посмотрите здесь:

В чём может быть ошибка? C++
C++ В чем может быть ошибка?
C++ В чём может быть ошибка?
Где может быть ошибка? C++
C++ где может быть ошибка на с++
В целочисленном массиве имеется единственный нулевой элемент, разделяющий его на две части. В частном случае любой из подмассивов может быть пустым C++
C++ В чём может быть ошибка?
В чём может быть ошибка программы? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Whiteha
Программист
33 / 33 / 4
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
08.03.2012, 02:08     Правильно ли и в каком случае может быть ошибка? #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
#include <iostream> 
using namespace std; 
 
 int main() 
 { 
     setlocale(LC_ALL, "");
     const int n = 11; 
     int mas[n]; 
 
     int middle = 0, ind_of_max = 0, prod = 1; 
     cout << "Введите " << n << " эл-та(ов):" << endl;
     for(int i = 0; i < n; i++) 
     { 
         cin >> mas[i]; 
         if (mas[i] > ind_of_max) ind_of_max = i;
     } 
 
     middle = n / 2; 
 
     if (ind_of_max > middle)
     {
         for(int j = middle + 1; j < ind_of_max; ++j) 
             prod *= mas[j]; 
     }
     else if (ind_of_max < middle)
     {
         for(int j = middle - 1; j > ind_of_max; --j) 
             prod *= mas[j]; 
     }
     else
         cout << "Ошибка, максимальный элемент является \"средним\"." << endl;
 
     if (n == 3) cout << "Ошибка, между максимальным и \"средним\" нет элементов." << endl;
     else cout << "Произведение элементов от среднего до максимального = " << prod << endl; 
 
     system("pause"); 
 }
Yandex
Объявления
08.03.2012, 02:08     Правильно ли и в каком случае может быть ошибка?
Ответ Создать тему
Опции темы

Текущее время: 06:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru