Форум программистов, компьютерный форум, киберфорум
Наши страницы

Заполнение одномерного массива и положительными, и отрицательными числами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Каким будет результат функции? http://www.cyberforum.ru/cpp-beginners/thread369964.html
bool __fastcall razdelitel(char c) { AnsiString r=". ; , : = ( ) + - * / ^ = < > \n \r"; int r_leng = r.Length(); for (int i=1; i<=r_leng; i++) if (r == c) return true; return false; } Каким...
C++ Аварийное завершение программы, ошибка в функции вывода. Здравствуйте все. Пишу программу для сложения, вычитания матриц. Использую перегрузку операторов. При выводе результатов возникает ошибка и программа аварийно завершается. Я, наверное, неправильно... http://www.cyberforum.ru/cpp-beginners/thread369947.html
C++ обработка символьных данных
1) В заданный текст входят только цифры и буквы. Определить, является ли текст десятичной, шестнадцатеричной или двоичной записью целого либо вещественного числа (указать при выводе какого). 2)...
C++ Строки
Программе подается строка, состоящая из слов отделенных различным количеством пробелов. Требуется вывести на экран ту же самую строку, но слова должны быть разделены одним пробелом. Ребят,...
C++ Виртуальная функция http://www.cyberforum.ru/cpp-beginners/thread369913.html
В учебнике дается понятие абстрактного класса, как класса содержащего хоть одну виртуальную функцию. Проблема в том, что я так и не смогла для себя четко понять, что же такое. виртуальная функция....
C++ Массив. Помогите доработать код, подскажите где ошибки. Сама задача проста: Есть массив, состоящий из натуральных чисел, поделенный на 4 части, необходимо переставить блоки ( верхний правый с нижним левым, и верхний левый с нижним правым). Подскажите,... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9917 / 5840 / 976
Регистрация: 25.07.2009
Сообщений: 11,014
21.10.2011, 16:03
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
    
/* Возвращает вещественное число с произвольным знаком,
    не превышающее по модулю m */
double realrand(double m) {
    double num = ((double)rand() + 0.1) / ((double)rand() + 0.1);
    return num / pow(10.0, ceil(log10(num))) * pow(-1.0, (double)rand()) * m;
}
 
void fill(double * arr, size_t size, double m, double (*func)(double)){
    while ( size-- )
        *arr++ = func(m);
}
 
void dump(const double * arr, size_t size, size_t precission){
    while ( size-- )
        printf("%.*f\n", precission, *arr++);
}
 
#define AFTERPOINT 3
#define WATERMARK (10.0)
 
int main(void){
    double * arr;
    size_t size;
    
    srand(time(NULL));
    while ( printf("Number of elements: ") > 0 && scanf("%u", &size) == 1 && size ){
        if ( ! ( arr = malloc(sizeof(double) * size) ) ){
            fprintf(stderr, "Memory error!\n");
            exit(1);
        }
        fill(arr, size, WATERMARK, realrand);
        dump(arr, size, AFTERPOINT);
        free(arr);
    }
    
    exit(0);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru