1 / 1 / 0
Регистрация: 11.03.2009
Сообщений: 8
|
|
1 | |
С++ не понимаю31.10.2009, 14:10. Показов 1727. Ответов 6
Метки нет (Все метки)
1. сумму элементов массива с нечетными номерами;
2. сумму элементов массива, расположенных между первым и последним отрицательными элементами; 3. Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями. --------------------------------------------------------------------+ Первые два сделал, не могу сделать 3-ие. Помогите пожалуйста.... И если не сложно то поставте третие задание в программу, а то плохо представляю, как это сделать=) Код
#include <iostream> #include <ctime> using namespace std; int main() { int sum = 0; int num; int n; // n вещественных элементов в массиве cout << "Please type number of float number of array : "; cin >> n; int array[n]; srand((unsigned)time(NULL)); for (num=0; num < n;num++) //Рендомизация массива ( заполнение в диапозоне не больше 1000) { array[num] = rand()% 1000 - 500; cout << " | " << array[num] << " | "; } cout << "\nArray was randomized...\n"; cout << "\n1) Sum of elements : "; for(num=0;num <= n ;num=num+2) //Сумма всех нечетных элементов sum = sum + array[num]; cout << sum << "\n"; cout << "\n2) Sum of elements between first and last negative numbers of array: "; //Сумма всех чисел между первым и последним отриц. элементами int i,j,s; int nsum[n]; for(num=0;num <= n; num++) { if(array[num] < 0) { j = num; for(num=num; num <= n;num++) { if(array[num] < 0) { i = num; } } } } sum = 0; for(num=j+1; num < i;num++) { s++; nsum[s] = array[num]; sum = sum + nsum[s]; } cout << sum <<"\n"; system("pause"); return 0;
0
|
31.10.2009, 14:10 | |
Ответы с готовыми решениями:
6
Не Понимаю С++ не понимаю. строки. Не понимаю программу на С++ Не понимаю ошибку |
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
|
||||||
31.10.2009, 14:34 | 2 | |||||
Через указатель.
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|||||||||||
31.10.2009, 15:37 | 3 | ||||||||||
Ошибки там следующие: если Вы объявили массив так:int array[n], то не следует в последующем обращаться к элементу array[n], последний элемент массива будет элемент array[n-1]. Массив nsum вообще не нужен. Сумму элементов между отрицательными массива Вы считаете используя переменную nsum[s];. А переменная s чему равна?
Или насчет последнего я ошибаюсь? Добавлено через 25 минут Итоговый код:
0
|
8 / 8 / 5
Регистрация: 30.05.2009
Сообщений: 47
|
||||||
31.10.2009, 17:52 | 4 | |||||
3 задание
0
|
8 / 8 / 5
Регистрация: 30.05.2009
Сообщений: 47
|
|
31.10.2009, 18:52 | 6 |
да ничем.решил извратиться
0
|
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
|
|
31.10.2009, 19:03 | 7 |
препод подумает ну ни шутя себе пацан ) мы тока векторы проходим а тут и stl и шаблоны))
0
|
31.10.2009, 19:03 | |
31.10.2009, 19:03 | |
Помогаю со студенческими работами здесь
7
Указатели. Не понимаю isdigit() не понимаю Не понимаю CALLBACK не понимаю условие!! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |