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

и снова одномерный массив - C++

Восстановить пароль Регистрация
 
Ольга150883
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 38
21.01.2010, 07:44     и снова одномерный массив #1
Разработать программу для работы с одномерным массивом. Ее функции:
- считывание элементов массива из файла (txt), где в первой строке можно задавать размерность массива;
- нахождение индексов максимального и минимального элемента методом последовательного поиска;
- определение среднего арифметического элементов, суммы элементов по строкам и столбцам;
- сортировка массива методом вставок;
- вывод полученных данных на экран.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.01.2010, 10:53     и снова одномерный массив #2
Всё, кроме чтения из файла и суммы столбцов одномерного массива вот:
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <stdio.h>
    
void arraySortAsc(int *arr, int cnt){
    int i, j, k, tmp;
    
    for ( i = 0; i < cnt - 1; ++i ){
        if ( arr[i + 1] < arr[i] ){
            tmp = arr[i + 1];
            for ( j = 0; j < i + 1; ++j ){
                if ( arr[j] > tmp ){
                    for ( k = i + 1; k > j; --k ){
                        arr[k] = arr[k - 1];
                    }
                    arr[j] = tmp;
                    break;
                }
            }
        }
    }
}
 
void arraySortDesc(int *arr, int cnt){
    int i, j, k, tmp;
    
    for ( i = 0; i < cnt - 1; ++i ){
        if ( arr[i + 1] > arr[i] ){
            tmp = arr[i + 1];
            for ( j = 0; j < i + 1; ++j ){
                if ( arr[j] < tmp ){
                    for ( k = i + 1; k > j; --k ){
                        arr[k] = arr[k - 1];
                    }
                    arr[j] = tmp;
                    break;
                }
            }
        }
    }
}
 
int maxValIndex(int *arr, int cnt){
    int i, imax, vmax;
    imax = 0;
    vmax = *arr;
    for ( i = 1; i < cnt; ++i ){
        if ( arr[i] > vmax ){
            imax = i;
            vmax = arr[imax];
        }
    }
    return imax;
}
 
int minValIndex(int *arr, int cnt){
    int i, imin, vmin;
    imin = 0;
    vmin = *arr;
    for ( i = 1; i < cnt; ++i ){
        if ( arr[i] < vmin ){
            imin = i;
            vmin = arr[imin];
        }
    }
    return imin;
}
 
double average(int *arr, int cnt){
    int i;
    long avg;
    for ( avg = 0, i = 0; i < cnt; ++i )
        avg += arr[i];
    return (double)avg / (double)cnt;
}
 
long sumVals(int *arr, int cnt){
    long sum = 0;
    while ( cnt-- )
        sum += *arr++;
    return sum;
}
 
void prnArray(int *arr, int cnt){
    while ( cnt-- )
        printf("%2d ", *arr++);
    printf("\n");
}
 
#define ARRSIZE 10
int main(void){
    int arr[ARRSIZE] = { 9, 7, 4, 8, 2, 0, 3, 1, 5, 6 }, i;
    printf("Unsorted array: ");
    prnArray(arr, ARRSIZE);
    printf("Min. value: ARR[%d] = %d\n", ( i = minValIndex(arr, ARRSIZE) ), arr[i]);
    printf("Max. value: ARR[%d] = %d\n", ( i = maxValIndex(arr, ARRSIZE) ), arr[i]);
    
    arraySortAsc(arr, ARRSIZE);
    printf("Sorted ascendant: ");
    prnArray(arr, ARRSIZE);
    
    arraySortDesc(arr, ARRSIZE);
    printf("Sorted descendant: ");
    prnArray(arr, ARRSIZE);
    
    printf("Sum of elements: %ld\n", sumVals(arr, ARRSIZE));
    printf("Average value = %.1f\n", average(arr, ARRSIZE));
    
    return 0;
}
Хотите, чтоб и с файлами было - указывайте язык программирования.
Ольга150883
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 38
21.01.2010, 11:35  [ТС]     и снова одномерный массив #3
DEV c++
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
21.01.2010, 11:40     и снова одномерный массив #4
Ольга150883, не IDE, а язык. С или С++, потому как в деве можно писать на Си и Си++
Ольга150883
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 38
21.01.2010, 11:57  [ТС]     и снова одномерный массив #5
C++
Yandex
Объявления
21.01.2010, 11:57     и снова одномерный массив
Ответ Создать тему
Опции темы

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