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

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

Войти
Регистрация
Восстановить пароль
 
MODELbER
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 3
#1

Ошибка при умножении - C++

24.12.2012, 14:41. Просмотров 297. Ответов 4
Метки нет (Все метки)

Надо найти: Произведение элементов массива, расположенных между максимальным и минимальным элементами.
Min и Max находит программа а вот произведение этих чисел выдаёт 1 хотя должно быть больше.
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
#include<iostream.h>
#include<math.h>
#include<windows.h>
 
int main()
{
SetConsoleOutputCP(1251);
const int x=3;
int a[x];
cout<<"Ââåäèòå ГЅГ«. Г¬Г*Г±Г±ГЁГўГ*: ";
for(int c=0;c<x;c++)
cin>>a[c];
cout<<endl;
 
int max = a[0];
int min = a[0];
int im, jm;
for(int i = 0; i < x; i++)
{
if(a[i] > max)
{
max = a[i];
im = i;
}
if(a[i] < min)
{
min = a[i];
jm = i;
}
}
cout<<"ГЊГ*ГЄГ±ГЁГ¬Г*ëüГ*ûé ýëåìåГ*ГІ: "<<max<<endl;
cout<<"ГЊГЁГ*ГЁГ¬Г*ëüГ*ûé ýëåìåГ*ГІ: "<<min<<endl;
int P = 1;
if(im > jm)
{
for(int i = jm; i <= im ; i++)
{
P *= a[i];
}
}
else if(jm > im)
{
for(int i = jm; i <= im ; i++)
{
P *= a[i];
}
}
cout<<"P= "<<P<<endl;
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2012, 14:41     Ошибка при умножении
Посмотрите здесь:

Найти все двузначные числа, сумма цифр которых не меняется при умножении 2,3,4,5,6,7,8,9 C++
C++ Найти все двузначные числа, которые при умножении на 2 заканчиваются на 8, а при умножении на 3 - на 4.
C++ Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9
Ошибка при умножении C++
C++ Проверить ассоциативность при умножении матриц
C++ При умножении матриц результат равен нулю
Почему при умножении двух переменных типа int выдает ответ 76? C++
C++ Не могу найти ошибку при умножении 2х матриц
C++ Неверное значение при умножении больших чисел
C++ Почему при умножении на 0, программа работает правильно?
C++ Почему при умножении разнотипных переменных (например, float и int) получается int?
Исправить ошибку из-за которой приложение падает при умножении матриц C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
24.12.2012, 14:59     Ошибка при умножении #2
в 43 строке замени jm на im и im на jm

Добавлено через 6 минут
ещё добавьте строчку
C++
1
im = jm = 0;
иначе когда у вас будут максимальных или минимальный элементы на граничных значениях, то в произведение будет добавляться мусор

и для наглядности сделайте хотя бы 5 элементов. 3 уж слишком мало.
MODELbER
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 3
24.12.2012, 15:05  [ТС]     Ошибка при умножении #3
Цитата Сообщение от SummerRain Посмотреть сообщение
в 43 строке замени jm на im и im на jm

Добавлено через 6 минут
ещё добавьте строчку
C++
1
im = jm = 0;
иначе когда у вас будут максимальных или минимальный элементы на граничных значениях, то в произведение будет добавляться мусор

и для наглядности сделайте хотя бы 5 элементов. 3 уж слишком мало.
а куда именно строчку добавлять?
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
24.12.2012, 15:09     Ошибка при умножении #4
после объявления этих переменных.
СОВЕТ: когда объявляете переменную, то лучше сразу зануляйте её. Или же присваивайте ей значение один. Всё зависит будет она множителем или слагаемым.
MODELbER
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 3
24.12.2012, 15:13  [ТС]     Ошибка при умножении #5
Цитата Сообщение от SummerRain Посмотреть сообщение
после объявления этих переменных.
СОВЕТ: когда объявляете переменную, то лучше сразу зануляйте её. Или же присваивайте ей значение один. Всё зависит будет она множителем или слагаемым.
И из-за этого столько мучений =) Спасибо
Yandex
Объявления
24.12.2012, 15:13     Ошибка при умножении
Ответ Создать тему
Опции темы

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