Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
annka93
0 / 0 / 1
Регистрация: 27.10.2011
Сообщений: 17
#1

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

30.10.2011, 17:45. Просмотров 418. Ответов 2
Метки нет (Все метки)

Задача состоит в следующем: надо создать массив и вставить вместо двух случайных элементов "нули". После посчитать сумму элементов между "крайними нулями".
Например если был массив
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];
}
Но ничего не работает!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 17:45
Ответы с готовыми решениями:

Атоморфные числа, С++, помогите доработать код
Сама задача выглядит так: среди чисел от 1 до n найти все атоморфные числа (...

Создать программу-счётчик слов (помогите доработать код)
Эта программа видит на входе &quot;Ма-ма -мыла раму. Рама-, мыла маму. Мама была...

Массив. Помогите доработать код, подскажите где ошибки.
Сама задача проста: Есть массив, состоящий из натуральных чисел, поделенный на...

Скатерть Улама - помогите доработать прогу :)
Есть код программы, но что-то не могу заставить его работать в Visual Studio...

База данных. Помогите доработать сортировку!
Доброе время суток!) Нужна помощь! Создал базу данных. ФИО, число, месяц, год...

2
Сыроежка
Заблокирован
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;
0
annka93
0 / 0 / 1
Регистрация: 27.10.2011
Сообщений: 17
30.10.2011, 18:44  [ТС] #3
Цитата Сообщение от Сыроежка Посмотреть сообщение
Как я понял из описания задачи, вам надор только два элемента сделать равными нулю. Поэтому
не понятно, почему вы используете цикл?! Кроме того, так как у вас n элементов,то наверное случайный индекс нужно выбирать следующим выражением

C++
1
rand % n;
А можете показать на примере?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2011, 18:44

Доработать код
Нужно что-бы программа не заменяла многократные пробелы однократным , а просто...

Доработать код ежедневника
В общем есть работа : ежедневник и следующая часть кода: #include...

Подскажите как доработать код
Нужно посчитать копейки. от 1-й до 99-ти. Суть в том что бы посчитать в порядке...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru