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

Массивы. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ значения функции http://www.cyberforum.ru/cpp-beginners/thread91425.html
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX. Условие во вложином файле где a, b, с — действительные числа. Функция F должна...
C++ Нужно решить несколько заданий по с++ Здраствуйте, мне нужно сделать любые две программы из этих задач: Номер 1. Задано квадратную матрицу А порядка n. Построить новую матрицу В такую, что бы каждый ее елемент равнялся найбольшему с... http://www.cyberforum.ru/cpp-beginners/thread91412.html
бинарное дерево C++
необходимо создать бинарное дерево, в качестве ключа - строка содержащая фамилию; в качестве информационной части - средний балл. Реализовать - функции добавления, просмотра, поиска элемента по...
C++ функции работы со стеком
необходимо написать стек..и реализовать функции добавления элементов; просмотра; удаления элемента по правилам стека; удаление произвольного элемента по значению; сортировка стека, перемещая...
C++ Найти количество квадратов размещенных на прямоугольнике http://www.cyberforum.ru/cpp-beginners/thread91360.html
Народ помогите с задачами на С. 1)Даны целые положительные числа A, B, C. На прямоугольнике размера A × B размещено максимально возможное количество квадратов со стороной C (без наложений). Найти...
C++ динамический массив ктонибуть, напишите пожалуста задачу на динамический массив. ну и само условие, ибо в книге нифига не понятно..может так хоть чтото пайму. подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9693 / 5643 / 962
Регистрация: 25.07.2009
Сообщений: 10,847
01.02.2010, 11:39
диржы
program.cpp
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
#include <iostream>
#include <fstream>
#include <iomanip>
 
using namespace std;
 
/* возвращает индекс элемента с минимальным значением */
int minIndex(int *arr, int size){
    int min_index, min_value, i;
    
    min_index = 0;
    min_value = arr[min_index];
    for ( i = 1; i < size; ++i ){
        if ( arr[i] < min_value ){
            min_index = i;
            min_value = arr[min_index];
        }
    }
    return min_index;
}
 
/* сумма элементов до минимального */
int sumBeforMin(int *arr, int size){
    int min_index = minIndex(arr, size);
    int sum = 0;
    for ( int i = 0; i < min_index; ++i )
        sum += arr[i];
    return sum;
}
 
/* сумма элементов после минимального */
int sumAfterMin(int *arr, int size){
    int min_index = minIndex(arr, size);
    int sum = 0;
    for ( int i = size - 1; i > min_index; --i )
        sum += arr[i];
    return sum;
}
 
int *arrayFromFile(const char *file_name, int *cnt){
    ifstream ifs(file_name);
    if ( !ifs.is_open() )
        return NULL;
    int *arr;
    ifs >> *cnt;
    if ( *cnt < 1 )
        return NULL;
    arr = new int [ *cnt ];
    for ( int i = 0; i < *cnt; ++i ){
        ifs >> arr[i];
        if ( ifs.bad() )
            return NULL;
    }
    ifs.close();
    return arr;
}
 
void prnArray(int *arr, int size){
    while ( size-- )
        cout << setw(3) << *arr++;
    cout << endl;
}
 
int main(){
    const char *file_name = "data.txt";
    int *arr = NULL, cnt = 0;
    
    if ( ( arr = arrayFromFile(file_name, &cnt) ) == NULL ){
        cerr << "Can't get array from file!" << endl;
        return 1;
    }
    cout << "Array:" << endl;
    prnArray(arr, cnt);
    cout << "Sum befor element with min value: " << sumBeforMin(arr, cnt) << endl;
    cout << "Sum after element with min value: " << sumAfterMin(arr, cnt) << endl;
    
    delete [] arr;
    return 0;
}

data.txt
Код
10
5 4 8 7 9 2 0 3 6 1
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru