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

Вычислить количество отрицательных элементов массива - C++

Восстановить пароль Регистрация
 
svd_sergey
 Аватар для svd_sergey
1 / 1 / 0
Регистрация: 14.08.2012
Сообщений: 76
17.10.2012, 19:26     Вычислить количество отрицательных элементов массива #1
Задача была такая: В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество отрицательных элементов массива;
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
#include "stdafx.h"
#include <iostream>
#include "math.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "russian");
const int N=10;
int i,k=0,s=0,j,x;
float massiv[N];    //Описание массива
cout<<"Введите 10 целых чисел\n";
for(i=0;i<N;i++)
cin>>massiv[i];    //Ввод массива
for(i=0;i<N;i++)    //Вывод массива
cout<<"\n massiv["<<i<<"] = "<<massiv[i];    //Вывод массива
 
 
for(i=0; i<N; i++)
{
 if(massiv[i]<0)
 k++;
}
cout<<"\n  Количество отрицательных="<<k<<'\n';
 
 
j=fabs(massiv[0]);
 
for(i=0; i<N; i++)
{
 if(fabs(massiv[i])<j){
 j=massiv[i];
 x=i+1;}
}
for(i=x; i<N; i++)
s+=massiv[i];
 
cout<<"\n Summa="<<s;
system ("pause");
return 0;
}
Первая часть выполняется нормально, но сразу после ее выполнения появляется какое то окно, похоже что с ошибкой. Что делать?
Миниатюры
Вычислить количество отрицательных элементов массива  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2012, 19:26     Вычислить количество отрицательных элементов массива
Посмотрите здесь:

Массивы: вычислить сумму положительных и количество отрицательных элементов массива C++
C++ Вычислить значение функции для отрицательных элементов массива и подсчитать их количество
Одномерный массив. Вычислить значение функции для отрицательных элементов массива и подсчитать их количество C++
Вычислить количество отрицательных элементов массива C++
Вычислить количество отрицательных элементов массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
17.10.2012, 19:31     Вычислить количество отрицательных элементов массива #2
У меня нормально отработало.
svd_sergey
 Аватар для svd_sergey
1 / 1 / 0
Регистрация: 14.08.2012
Сообщений: 76
17.10.2012, 19:37  [ТС]     Вычислить количество отрицательных элементов массива #3
Нормально обе части?
Кстати, может кто-нибудь подскажет, как сделать вот это?
"Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию."
В этой же задаче
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
17.10.2012, 19:40     Вычислить количество отрицательных элементов массива #4
По-моему это окно спрашивает, какой отладчик использовать, если я правильно понял английский
svd_sergey
 Аватар для svd_sergey
1 / 1 / 0
Регистрация: 14.08.2012
Сообщений: 76
17.10.2012, 19:41  [ТС]     Вычислить количество отрицательных элементов массива #5
И что нажимать?
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
17.10.2012, 19:41     Вычислить количество отрицательных элементов массива #6
Что значит обе части? код который ты выложил у меня откомпилировался и отработал нормально.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
17.10.2012, 19:42     Вычислить количество отрицательных элементов массива #7
"Yes" наверно. Если не поможет, выбрать второй в списке. Если и это не поможет, то не знаю, впервые такое окно вижу.
svd_sergey
 Аватар для svd_sergey
1 / 1 / 0
Регистрация: 14.08.2012
Сообщений: 76
17.10.2012, 19:46  [ТС]     Вычислить количество отрицательных элементов массива #8
Цитата Сообщение от David Sylva Посмотреть сообщение
Что значит обе части?
Я имел в виду обе части задачи - 1) найти количество отриц. членов массива
2) найти сумму членов массива после миним. по модулю члена
svd_sergey
 Аватар для svd_sergey
1 / 1 / 0
Регистрация: 14.08.2012
Сообщений: 76
17.10.2012, 19:49  [ТС]     Вычислить количество отрицательных элементов массива #9
Цитата Сообщение от BumerangSP Посмотреть сообщение
"Yes" наверно.
Нажал на yes, появилось вот что. А если no, то просто заканчивает выполнение программы после первой части
Миниатюры
Вычислить количество отрицательных элементов массива  
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
17.10.2012, 19:55     Вычислить количество отрицательных элементов массива #10
C++
1
int i,k=0,s=0,j,x;
x обнули.
C++
1
int i,k=0,s=0,j,x = 0;
Здесь в x возможно отрицательное число.
C++
1
2
for(i=x; i<N; i++)
   s+=massiv[i];
svd_sergey
 Аватар для svd_sergey
1 / 1 / 0
Регистрация: 14.08.2012
Сообщений: 76
17.10.2012, 19:58  [ТС]     Вычислить количество отрицательных элементов массива #11
А эту выпадающую ошибку то как убрать?
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
17.10.2012, 20:22     Вычислить количество отрицательных элементов массива #12
Так он пишет, мол, ошибка доступа. Как раз что-то с индексами не то.
svd_sergey
 Аватар для svd_sergey
1 / 1 / 0
Регистрация: 14.08.2012
Сообщений: 76
17.10.2012, 20:23  [ТС]     Вычислить количество отрицательных элементов массива #13
Я другу скинул код программы - у него всё отлично работает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2012, 20:35     Вычислить количество отрицательных элементов массива
Еще ссылки по теме:

Вычислить количество отрицательных элементов между максимальным и минимальным элементами массива C++
Вычислить количество отрицательных элементов массива, расположенных до минимального положительного числа C++
C++ Вычислить сумму и количество отрицательных, положительных и нулевых элементов массива

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

Или воспользуйтесь поиском по форуму:
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
17.10.2012, 20:35     Вычислить количество отрицательных элементов массива #14
Таки специально проверил в студии. Вот здесь:
C++
1
2
3
4
5
6
for(i=0; i<N; i++)
{
 if(fabs(massiv[i])<j){
 j=massiv[i];
 x=i+1;}
}
условие if(fabs(massiv[i])<j) не выполняется, поэтому x остается неопределенным. Далее в цикле for(i=x; i<N; i++) i присваивается неопределенное значение x. Например, в моем отладчике такое: -858993460. А теперь представьте себе массив с таким индексом: massiv[-858993460].
Yandex
Объявления
17.10.2012, 20:35     Вычислить количество отрицательных элементов массива
Ответ Создать тему
Опции темы

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