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

Динамические масивы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ подставить неизвестный класс в функцию http://www.cyberforum.ru/cpp-beginners/thread133205.html
Есть базовый класс Human, от него наследованы Mage, Paladin как передать заранее неизвестный класс в перегруженную функцию battle(player, enemy)? т.е. switch(select): case(1): Human Player("Вася", 100, 20); break;
C++ Нужно исправить ошибку Здравствуйте уважаемые форумчане. Не молчите пожалуйста, ответьте хоть кто-нибудь. Сколько писал никто не отвечает. Может потому что вопросы слишком простые, но все же хоть что-то ответьте. Нужно подправить следующий код: #include "stdafx.h" #include "iostream" #include "math.h" #include "conio.h" using namespace std; http://www.cyberforum.ru/cpp-beginners/thread133195.html
C++ Указатели
Написать функцию, в которой в качестве параметра принимается указатель массив. Отсортировать элементы массива по возрастанию и вывести на экран.
работа с файлами C++
Написать программу, которая выводит на экран содержимое текстового файла
C++ Печать матрицы http://www.cyberforum.ru/cpp-beginners/thread133174.html
Есть разреженная матрица, которая считывается из файла в цепочку ненулевых элементов и вектор указывающий на индекс начало новой строки в цепочке. Считать я считал без проблем, а с печатью проблемы. Помогите пожалуйста, вот код #include <stdio.h> #include <stdlib.h> char data; int input_matrix; int A_matrix;
C++ C or C++ На плоскости даны 20 точек (x1,y1),(x2,y2)....(x20,y20). Рассмотрим прямоугольники, содержащие эти точки, причем стороны прямоугольников параллельны или перпендикулярны координаты противоположных углов такого прямоугольника левого нижнего и правого верхнего. подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.05.2010, 12:18     Динамические масивы
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <assert.h>
 
/*
*   Составить программу, заполняющую список последовательностью случайных различных целых чисел
*   и суммирующую те его элементы, которые расположены между минимальным и максимальным элементом
*   (если минимальный элемент предшествует максимальному).
*/
 
 
/* указатель на первый максимальный элемент в массиве [begin, end) */
int * max_element(int * begin, int * end){
    assert ( begin < end );
    return ( end - begin == 1 ) ? begin : ( *begin < *(end - 1) ) ? max_element(++begin, end) : max_element(begin, --end);
}
 
/* указатель на первый минимальный элемент в массиве [begin, end) */
int * min_element(int * begin, int * end){
    assert ( begin < end );
    return ( end - begin == 1 ) ? begin : ( *begin > *(end - 1) ) ? min_element(++begin, end) : min_element(begin, --end);
}
 
/* заполняет массив случайными числами в диапазоне [0, 100) */
void random_fill(int * begin, int * end){
    while ( begin < end )
        *(begin++) = rand() % 100;
}
 
/* печатает последовательность в поток */
void print(int * begin, int * end, FILE * out){
    while ( begin < end )
        fprintf(out, "%02d ", *(begin++));
    fprintf(out, "\n");
}
 
/* сумма элементов массива [begin, end) */
long sum(int * begin, int * end){
    long s = 0;
    while ( begin < end )
        s += *(begin++);
    return s;
}
 
 
int main(void){
    int *pArr, *pMin, *pMax, size;
 
    srand(time(NULL));
 
    printf("Number of elements: ");
    if ( scanf("%d", &size) != 1 || size < 1 ){
        fprintf(stderr, "Wrong number!\n");
        exit(EXIT_FAILURE);
    }
 
    if ( ! ( pArr = (int*)calloc(size, sizeof(int)) ) ){
        perror("calloc");
        exit(EXIT_FAILURE);
    }
 
    random_fill(pArr, pArr + size);
    printf("Random array:\n");
    print(pArr, pArr + size, stdout);
 
    printf("Min element: %02d\n", *(pMin = min_element(pArr, pArr + size)));
    printf("Max element: %02d\n", *(pMax = max_element(pArr, pArr + size)));
 
    if ( pMax < pMin )
        printf("Max element before Min\n");
    else if ( pMax == pMin )
        printf("Min and Max elements are equal\n");
    else if ( pMax - pMin == 1 )
        printf("Max element right after Min\n");
    else
        printf("Sum of elements between Min and Max is %02ld\n", sum(pMin + 1, pMax));
 
    free(pArr);
    exit(EXIT_SUCCESS);
}
что-то мне это напоминает...
 
Текущее время: 03:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru