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

Массивы для чайника. Подскажите что как надо - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Студентк@
Сообщений: n/a
03.10.2013, 23:47     Массивы для чайника. Подскажите что как надо #1
Короче , ситуация следующая : нужно найти сумму элементов расположенных после минимального элемента в массиве вещественных чисел и провести еще несколько операций с ним.Загвоздка в сумме..
Массив создала , минимальный тоже находится. А как правильно найти сумму после минимального чегото запуталась.
Понимаю, что нужно знать номер минимального элемента, чтобы цикл для суммы начинать с него.А как записать правильно в программе - путаюсь ещеКак номера эти считать - нужно еще один массив получается создавать ?или как?
Подhelpните мне, please...
кусок моего кода для минимального :
C++
1
2
3
4
5
6
7
8
9
10
...............................................................
min = A[0];
 
for ( i = 1; i < N; i ++ )
 
if ( A[i] < min )
 
min = A[i];
 
printf("\n Минимальный элемент %d", min);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HedgehogLu
 Аватар для HedgehogLu
146 / 67 / 1
Регистрация: 04.09.2013
Сообщений: 250
04.10.2013, 00:11     Массивы для чайника. Подскажите что как надо #2
Для решения этой задачи при поиске минимума вы сохраняйте не минимальное значение, а индекс минимального элемента. Тогда вся проблема отпадет автоматом
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
04.10.2013, 00:16     Массивы для чайника. Подскажите что как надо #3
Цитата Сообщение от Студентк@ Посмотреть сообщение
Короче , ситуация следующая : нужно найти сумму элементов расположенных после минимального элемента в массиве вещественных чисел и провести еще несколько операций с ним.Загвоздка в сумме..
Массив создала , минимальный тоже находится. А как правильно найти сумму после минимального чегото запуталась.
Понимаю, что нужно знать номер минимального элемента, чтобы цикл для суммы начинать с него.А как записать правильно в программе - путаюсь ещеКак номера эти считать - нужно еще один массив получается создавать ?или как?
Подhelpните мне, please...
кусок моего кода для минимального :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...............................................................
int min_i,sum=0;
min = A[0];
 
for ( i = 1; i < N; i ++ )
 
if ( A[i] < min ) {
 
min = A[i];
min_i=i;
}
 
printf("\n Минимальный элемент %d", min);
for (int i=min_i+1;i<N;i++)
sum+=A[i];
printf("\n Сумма= %d", sum);
HedgehogLu
 Аватар для HedgehogLu
146 / 67 / 1
Регистрация: 04.09.2013
Сообщений: 250
04.10.2013, 00:19     Массивы для чайника. Подскажите что как надо #4
newb_programmer, Ваша программа не правильная . Она малость не соответствует заданию.

Не по теме:

Хотя это может оказаться маленькой задачкой для автора темы для лучшего понимания работы программы.

newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
04.10.2013, 00:21     Массивы для чайника. Подскажите что как надо #5
Цитата Сообщение от HedgehogLu Посмотреть сообщение
newb_programmer, Ваша программа не правильная . Она малость не соответствует заданию.

Не по теме:

Хотя это может оказаться маленькой задачкой для автора темы для лучшего понимания работы программы.

убрал минимальный элемент из суммы, вы это имели ввиду? или чтото другое?
HedgehogLu
 Аватар для HedgehogLu
146 / 67 / 1
Регистрация: 04.09.2013
Сообщений: 250
04.10.2013, 00:27     Массивы для чайника. Подскажите что как надо #6
оно самое

Не по теме:

но жаль автору темы не осталось места для фантазии

riv94
 Аватар для riv94
64 / 64 / 11
Регистрация: 13.02.2011
Сообщений: 390
04.10.2013, 00:28     Массивы для чайника. Подскажите что как надо #7
Цитата Сообщение от Студентк@ Посмотреть сообщение
1
2
3
4
5
6
7
8
9
10
11
12
...............................................................
min = A[0];
for ( i = 1; i < N; i ++ )
if ( A[i] < min )
min = A[i];
printf("\n Минимальный элемент %d", min);
например, вот так!)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//изначально объявите переменную-счетчик, для того, чтобы запомнить позицию минимального элемента!
int k, sum=0, A[N], i, min;
min = A[0];
for ( i = 1; i < N; i ++ ) 
if ( A[i] < min )
{
  min = A[i];
  k=i;
 }
printf("\n Минимальный элемент %d", min);
 
//А теперь считаем сумму после минимального
for (i=k+1; i<N; i++)
sum=sum+a[i];
printf("\n Сумма после минимального %d", sum);
HedgehogLu
04.10.2013, 00:29
  #8

Не по теме:

хотя вру. есть. можно чутка сократить код. Или же вообще обойтись только одним циклом

newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
04.10.2013, 00:29     Массивы для чайника. Подскажите что как надо #9
Цитата Сообщение от HedgehogLu Посмотреть сообщение
оно самое

Не по теме:

но жаль автору темы не осталось места для фантазии

да прошу прощения-поздно заметил ваше дополнение, а сообщение с кодом закрылось для редактирования
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2013, 00:40     Массивы для чайника. Подскажите что как надо
Еще ссылки по теме:

C++ кнопки с++ для чайника:)
C++ Книга для чайника
Люди добрые очень надо, кто что может, к экзамену надо C++

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

Или воспользуйтесь поиском по форуму:
HedgehogLu
 Аватар для HedgehogLu
146 / 67 / 1
Регистрация: 04.09.2013
Сообщений: 250
04.10.2013, 00:40     Массивы для чайника. Подскажите что как надо #10
Хотите покажу как в один цикл засунуть все это?

Добавлено через 9 минут
C++
1
2
3
4
5
...
min=a[0];
sum=0;
for ( int i = 1; i < N; i ++ ) if (a[i]<min) {sum=0;min=a[i];}else{sum+=a[i]}
...
В случае если минимальных элементов несколько.
этот код верен для подсчета суммы после первого минимального элемента.
Для подсчета после последнего кот надо чутка изменить. Совсем совсем чутка
Yandex
Объявления
04.10.2013, 00:40     Массивы для чайника. Подскажите что как надо
Ответ Создать тему
Опции темы

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