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

Пояснение к задаче объяснить каждое действие - C++

Восстановить пароль Регистрация
 
Wampall
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 66
28.12.2011, 13:45     Пояснение к задаче объяснить каждое действие #1
Вот задача
Объясните мне пожалуйста каждую строчку
Программка оч классная но я не понимаю что там делается , если не сложно помогите пожалуйста
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
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
#define dimm_arr 9 // размер исходного массива
// заполнение исходного массива псевдослучайными целочисленными значениями
void fill_array( double[], const size_t );
// вывод массива на экран
void print_array( double[], const size_t );
// считаем среднее арифметическое тех элементов, которые больше 10
double calc_avg_more_10( double[], const size_t );
 
int main() {
        srand( time( NULL ) );
        double arr[ dimm_arr ];
 
        fill_array( arr, dimm_arr );
        cout << "Massiv: " << endl;
        print_array( arr, dimm_arr );
 
        cout <<"Srednee arifmeticheskoe elementov massiva bol’shih 10 ravno "
                        << calc_avg_more_10( arr, dimm_arr ) << endl;
System (“pause”);
 
        return 0;
}
 
void fill_array( double array[], const size_t dimm ) {
        for ( size_t i = 0; i < dimm; ++i )
                array[ i ] = rand() % 201 / 10.0; // [ 0..20 ]
 
}
 
void print_array( double array[], const size_t dimm ) {
        for ( size_t i = 0; i < dimm; ++i )
                cout << array[ i ] << " ";
 
        cout << endl;
}
 
double calc_avg_more_10( double array[], const size_t dimm ) {
        double sum = 0;
        size_t count = 0;
        for ( size_t i = 0; i < dimm; ++i )
                if ( array[ i ] > 10 ) {
                        sum += array[ i ];
                        ++count;
                }
System (“pause”);
 
        return sum / count;}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
28.12.2011, 15:01     Пояснение к задаче объяснить каждое действие #2
Цитата Сообщение от Wampall Посмотреть сообщение
double arr[ dimm_arr ];
- выделение памяти под статический массив - число элементов
Цитата Сообщение от Wampall Посмотреть сообщение
#define dimm_arr 9 // размер исходного массива
Добавлено через 2 минуты
Цитата Сообщение от Wampall Посмотреть сообщение
fill_array( arr, dimm_arr );
- рандомное заполнение массива(заполнение случайными числами) в диапазоне 0 - 20
Цитата Сообщение от Wampall Посмотреть сообщение
array[ i ] = rand() % 201 / 10.0; // [ 0..20 ]
- другое дело - накой чёрт так усложнять если можно сразу вот так записать array[ i ] = 1.0*rand() % 20;
Wampall
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 66
28.12.2011, 15:01  [ТС]     Пояснение к задаче объяснить каждое действие #3
-=ЮрА=-,
а вот в этой строчке
C++
1
array[ i ] = rand() % 201 / 10.0;
где определён тип этого массива?
-=ЮрА=-
Заблокирован
Автор FAQ
28.12.2011, 15:05     Пояснение к задаче объяснить каждое действие #4
Цитата Сообщение от Wampall Посмотреть сообщение
print_array( arr, dimm_arr );
- печатаем массив
Wampall
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 66
28.12.2011, 15:05  [ТС]     Пояснение к задаче объяснить каждое действие #5
array[ i ] где в программе на какой строке определён тип этого массива(double int какой?)
-=ЮрА=-
Заблокирован
Автор FAQ
28.12.2011, 15:06     Пояснение к задаче объяснить каждое действие #6
Цитата Сообщение от Wampall Посмотреть сообщение
где определён тип этого массива?
Цитата Сообщение от Wampall Посмотреть сообщение
fill_array( double array[], const size_t dimm )
- вот же он в заголовке функции прописан double array[]
Wampall
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 66
28.12.2011, 15:11  [ТС]     Пояснение к задаче объяснить каждое действие #7
-=ЮрА=-, а это не функция?
-=ЮрА=-
Заблокирован
Автор FAQ
28.12.2011, 15:17     Пояснение к задаче объяснить каждое действие #8
Цитата Сообщение от Wampall Посмотреть сообщение
calc_avg_more_10( arr, dimm_arr )
- вычисляем -среднее арифметическое числе больших 10

Добавлено через 2 минуты
Цитата Сообщение от Wampall Посмотреть сообщение
а это не функция?
- что именно
Цитата Сообщение от Wampall Посмотреть сообщение
void fill_array( double array[], const size_t dimm ) {
* * * * for ( size_t i = 0; i < dimm; ++i )
* * * * * * * * array[ i ] = rand() % 201 / 10.0; // [ 0..20 ]
}
- вот это всё функция (т.е заголовок void fill_array( double array[], const size_t dimm ) + тело - то что заключено между {}) - не понял вопрос

Добавлено через 2 минуты
Цитата Сообщение от Wampall Посмотреть сообщение
if ( array[ i ] > 10 ) {
* * * * * * * * * * * * sum += array[ i ];
* * * * * * * * * * * * ++count;
* * * * * * * * }
- тупо суммируем в sum числа большие 10-ки, а также считаем их число ++count, єто всё нужно чтобі вернуть из функции
Цитата Сообщение от Wampall Посмотреть сообщение
return sum / count;
, накой чёрт здесь єто
Цитата Сообщение от Wampall Посмотреть сообщение
System (“pause”);
- тобишь пауза вообще ума не приложу
(наверное нравится лишний раз кнопку в консоли щёлкать) - да и концептуально пауз в телах функций не делают
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2011, 15:20     Пояснение к задаче объяснить каждое действие #9
Цитата Сообщение от Wampall Посмотреть сообщение
array[ i ] = rand() % 201 / 10.0; // [ 0..20 ]
и
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
array[ i ] = 1.0*rand() % 20;
разные вещи.
Wampall
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 66
28.12.2011, 15:22  [ТС]     Пояснение к задаче объяснить каждое действие #10
-=ЮрА=-, спасибо большое за пояснения)
-=ЮрА=-
Заблокирован
Автор FAQ
28.12.2011, 15:36     Пояснение к задаче объяснить каждое действие #11
Цитата Сообщение от valeriikozlov Посмотреть сообщение
и
Сообщение от -=ЮрА=-
array[ i ] = 1.0*rand() % 20;
разные вещи.
- интересно чем разные???Ноликов в массиве больше выходит от ранда или что ввиду имелось???Поясни раз уж затронул тему!
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2011, 15:46     Пояснение к задаче объяснить каждое действие #12
Надеюсь видна разница:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <cstdlib>
#include <ctime>
 
int main() {
        srand( time( NULL ) );
  printf("Var: rand() % 201 / 10.0\n");
  int i, n=16;
  for(i=0; i<n; i++)
      printf("%.1lf ", rand() % 201 / 10.0);
 printf("\nVar: 1.0*rand() % 20\n");
  for(i=0; i<n; i++)
      printf("%.1lf ", 1.0*(rand() % 20));
  printf("\n");
  return 0;
}
-=ЮрА=-
Заблокирован
Автор FAQ
28.12.2011, 15:57     Пояснение к задаче объяснить каждое действие #13
valeriikozlov, беру слова обратно!Вы с десятыми хотели сделать - ПРОШУ ПРОЩЕНИЯ!
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2011, 15:59     Пояснение к задаче объяснить каждое действие #14
тогда я тоже
-=ЮрА=-
28.12.2011, 16:25
  #15

Не по теме:

Цитата Сообщение от valeriikozlov Посмотреть сообщение
тогда я тоже
- а я даже и не видел)
Ещё раз пардон за свою невнимательность

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2011, 16:32     Пояснение к задаче объяснить каждое действие
Еще ссылки по теме:

Нужно, чтобы каждое записанное число записывалось в файл, каждое с новой строки C++
В тексте удалить каждое четное слово, продублировать каждое нечетное слово C++
C++ Разбить на слоги каждое четное слово в строке, а каждое нечетное записать в обратном порядке

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2011, 16:32     Пояснение к задаче объяснить каждое действие #16
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Ещё раз пардон за свою невнимательность
не за что.
Yandex
Объявления
28.12.2011, 16:32     Пояснение к задаче объяснить каждое действие
Ответ Создать тему
Опции темы

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