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

Помогите доработать код. - C++

Восстановить пароль Регистрация
 
annka93
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 17
30.10.2011, 17:45     Помогите доработать код. #1
Задача состоит в следующем: надо создать массив и вставить вместо двух случайных элементов "нули". После посчитать сумму элементов между "крайними нулями".
Например если был массив
5 4 -1 8 6 4 2 3 3 7 0 -6
И после вставки "нулей" стал таким:
5 4 0 8 6 4 0 3 3 7 0 -6
Получается что сумма будет равна:
8+6+4+0+3+3+7=31
Вставку двух нулей делаем для того, чтобы быть уверенными, что у нас есть хотя бы два "крайних нулевых" элементов.
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
#include <iostream.h> 
#include <windows.h>  
#include <time.h>
 
int main()
{
    int n,proz=1;
    cout <<"Введите количество элементов одномерного массива: ";
    cin >> n;
    cout<<"Сгенерированный массив: ";
    int *a = new int [ n ];
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        a[i] = rand()%9-3;
        cout<<a[i]<<" ";
    }
 
//////////////////////////////////////////////////////////////////////////////////
 Здесь нужен код для вставки 2-x  нулей в случайных местах в массиве (1)
//////////////////////////////////////////////////////////////////////////////////
 Здесь вычислить сумму между крайними нулевыми элементами (2)
//////////////////////////////////////////////////////////////////////////////////
    return 0;
}
Добавлено через 52 секунды
В (1) вставляла следующий код:

C++
1
2
3
4
srand(time(NULL));
i=rand()%9-3;
for (i = 0; i < n; i++)
zero[i=rand()%9-3;]=0;
В (2) вставляла следующее:

C++
1
2
3
4
5
6
for(i=0;i<n;i++)
{
cout<<a[i];
if(a[i]==0)
 sum+=a[i];
}
Но ничего не работает!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 17:45     Помогите доработать код.
Посмотрите здесь:

C++ Скатерть Улама - помогите доработать прогу :)
C++ Атоморфные числа, С++, помогите доработать код
Массив. Помогите доработать код, подскажите где ошибки. C++
База данных. Помогите доработать сортировку! C++
Доработать код записной книжки C++
C++ Доработать код
C++ Доработать код данной программы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
30.10.2011, 18:11     Помогите доработать код. #2
Цитата Сообщение от annka93 Посмотреть сообщение
Задача состоит в следующем: надо создать массив и вставить вместо двух случайных элементов "нули". После посчитать сумму элементов между "крайними нулями".
Например если был массив
5 4 -1 8 6 4 2 3 3 7 0 -6
И после вставки "нулей" стал таким:
5 4 0 8 6 4 0 3 3 7 0 -6
Получается что сумма будет равна:
8+6+4+0+3+3+7=31
Вставку двух нулей делаем для того, чтобы быть уверенными, что у нас есть хотя бы два "крайних нулевых" элементов.
[/CPP]

Добавлено через 52 секунды
В (1) вставляла следующий код:

C++
1
2
3
4
srand(time(NULL));
i=rand()%9-3;
for (i = 0; i < n; i++)
zero[i=rand()%9-3;]=0;
В (2) вставляла следующее:

C++
1
2
3
4
5
6
for(i=0;i<n;i++)
{
cout<<a[i];
if(a[i]==0)
 sum+=a[i];
}
Но ничего не работает!
Как я понял из описания задачи, вам надор только два элемента сделать равными нулю. Поэтому
не понятно, почему вы используете цикл?! Кроме того, так как у вас n элементов,то наверное случайный индекс нужно выбирать следующим выражением

C++
1
rand % n;
annka93
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 17
30.10.2011, 18:44  [ТС]     Помогите доработать код. #3
Цитата Сообщение от Сыроежка Посмотреть сообщение
Как я понял из описания задачи, вам надор только два элемента сделать равными нулю. Поэтому
не понятно, почему вы используете цикл?! Кроме того, так как у вас n элементов,то наверное случайный индекс нужно выбирать следующим выражением

C++
1
rand % n;
А можете показать на примере?
Yandex
Объявления
30.10.2011, 18:44     Помогите доработать код.
Ответ Создать тему
Опции темы

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