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

Заполнение массива случайными числами, сумма цифр которых меньше 7 - C++

Восстановить пароль Регистрация
 
Ярославна
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 10
07.12.2013, 19:59     Заполнение массива случайными числами, сумма цифр которых меньше 7 #1
Ярославна
Используя генератор случайных чисел, заполнить массив из 20 элементов целочисленными значениями в диапазоне [11, 39], сумма цифр которых меньше 7.
Прототип пользовательской функции:
int genprint(int*, const int, const int, const int);
параметры функции: массив, число элементов массива, левая и правая границы интервала случайных чисел, верхняя граница суммы чисел. Функция возвращает общее число сгенерированных значений, которое потребовалось для заполнения всего массива числами.

*) вывод получаемых значений происходит в функции main(); значения элементов массива выводятся в две строки по 10 элементов в каждой в след виде:
- первые 10 элементов: <значения>
- вторые 10 элементов: <значения>
(выводимые значения аккуратно выравниваются; ширина поля вывода равняется 4).
- число сгенерированных значений = <значение>


Ярославна
// 7.12.cpp : main project file.

#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;

int genprint(int *, const int, const int, const int, const int);

int main()
{
setlocale(LC_ALL,"russian");
srand (time(0));

const int arrsize = 20;
int mass[arrsize];
int left = 11, rigth = 39, high=7;
int chislo;

chislo=genprint(mass, arrsize,left,rigth, high);
cout«"Вывод массива : \n";
cout«"Первые десять значений: ";
for (int i=0; i<(arrsize/2); i++)
cout«setw(4)«mass[i];
cout«'\n';

cout«"Вторые десять значений: ";
for(int i=arrsize/2; i<arrsize; i++)
cout«setw(4)«mass[i];
cout«'\n'«"число сгенерированных значений = <"«chislo«"> \n";
system("pause");
return 0;
}

int genprint( int * arr, const int kol, const int lb, const int rb, const int hb) // что означают следующие строки?
{

int x;
int i=0, counter = 0;

while ( i<kol)
{
x=lb + rand()%(rb-lb+1);
counter++;
if ((x % 10)+(x/10)<7)
{
arr[i] = x;
i++;
}
}

return counter;
}

Добавлено через 1 минуту
Объясните этот код, пожалуйста. Как мы нашли числа, сумма которых меньше 7? как мы их сгенерировали?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2013, 19:59     Заполнение массива случайными числами, сумма цифр которых меньше 7
Посмотрите здесь:

C++ Заполнение динамического массива случайными числами
(CИ)Из массива целых чисел X(N) удалить элементы, сумма цифр которых меньше 4. C++
C++ Заполнение массива случайными числами
заполнение линейного массива случайными числами С++ C++
C++ Заполнение массива случайными числами
Заполнение массива случайными числами в цикле C++
Заполнение массива случайными числами C++
Заполнение двумерного массива случайными числами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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