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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы 2 http://www.cyberforum.ru/cpp-beginners/thread88916.html
(1)Дан двухмерный массив целых чисел. в каждой его строке найти количество четных элементов. (2) Дан двухмерный масив ц. чисел. В каждой его строке найти кол-во элементов, попадающих в промежутке от а до b ( а < b ) (3) Дан двухмерный массив. Найти строку с максимальной суммой элементов (4) Дан дв. массив. Найти столбец с минимальной суммой элементов Добавлено через 6 минут Язык СИ
C++ Создание проги на переобразование текста) Ввести массив строк текста с заданным количеством строк и строку символов-разделителей. Из строк введенного текста сформировать другой текст, в который войдут только строки, содержащие нечетное количество слов. Одновременно в этих строках заменить слова с минимальным количеством символов на другое заданное слово. Вывести исходный и сформированный текст http://www.cyberforum.ru/cpp-beginners/thread88911.html
C++ Массивы
Дан двухмерный масив целых чисел. В каждой строке найти сумму отрицательных элементов. Затрудняюсь, помогите пожалуйста и объясните что да как незнайке!!!
Аналог программы REP C++
Здравствуйте! Обращаюсь за помощью) Вот так выглядит постановка задачи: Программа-аналог программы REP, с упрощенным подмножеством регулярных выражений. Требуется составить программу для замены фрагментов текста на основе заданного шаблона. В шаблоне допускается использование упрощенного подмножества регулярных выражений. Всё это дело должно быть оформлено на C++ консольным приложением. ...
C++ дополнение к itoa() http://www.cyberforum.ru/cpp-beginners/thread88898.html
Как всем известно, http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/ это функция, с помощью которой можно переводить числа с системы счисления с основанием 10 в систему с основанием в диапазоне 2..36. Вопрос состоит в том, есть ли стандартные функции для перевода с любой в 10-ичную ?? (я свою уже закодил, но вот проблема в том, что мейн занимает 10 строк, а функция - 8, некрасиво...
C++ матрица Помогите с заданием.Создать матрицу 5х5, и найти сумму отрицательных элементов, которые находятся под главной диагональю. подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
23.01.2010, 22:47     многомерный массив
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
/* возвращает максимальное значение массива */
int maxVal(int *arr, int cnt){
    int i, max_val;
    
    max_val = *arr;
    for ( i = 1; i < cnt; ++i )
        if ( arr[i] > max_val )
            max_val = arr[i];
    return max_val;
}
 
/* сортирует строки массива */
int sortRows(int **matr, int rows, int cols){
    int i, j, k, *row, val;
    
    for ( i = 0; i < rows - 1; ++i ){
        if ( ( val = maxVal(matr[i+1], cols) ) < maxVal(matr[i], cols) ){
            row = matr[i+1];
            for ( j = 0; j < i + 1; ++j ){
                if ( maxVal(matr[j], cols) > val ){
                    for ( k = i + 1; k > j; --k )
                        matr[k] = matr[k-1];
                    matr[j] = row;
                    break;
                }
            }
        }
    }
}
 
/* Упорядочить строки по возрастанию максимумов их элементов. */
 
#define ROWS 5
#define COLS 4
 
int main(void){
    int **matr, i, j;
    
    srand(time(NULL));
    
    if ( ( matr = (int**)calloc(ROWS, sizeof(int*)) ) == NULL ){
        fprintf(stderr, "Memory error!\n");
        exit(1);
    }
    for ( i = 0; i < ROWS; ++i ){
        if ( ( matr[i] = (int*)calloc(COLS, sizeof(int)) ) == NULL ){
            fprintf(stderr, "Memory error!\n");
            exit(1);
        }
    }
    printf("\nUnsorted:\n");
    for ( i = 0; i < ROWS; ++i ){
        for ( j = 0; j < COLS; ++j )
            printf("%02d ", ( matr[i][j] = rand() % 100 ));
        printf("MAXVAL: %d\n", maxVal(matr[i], COLS));
    }
    sortRows(matr, ROWS, COLS);
    printf("\nSorted:\n");
    for ( i = 0; i < ROWS; ++i ){
        for ( j = 0; j < COLS; ++j )
            printf("%02d ", matr[i][j]);
        printf("MAXVAL: %d\n", maxVal(matr[i], COLS));
    }                   
    
    for ( i = 0; i < ROWS; ++i )
        free(matr[i]);
    free(matr);
    exit(0);
}
 
Текущее время: 05:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru