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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Амош
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 4
#1

Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов. - C++

01.11.2013, 13:31. Просмотров 420. Ответов 4
Метки нет (Все метки)

1)Дана прямоугольная матрица. Найти строку с наибольшей и наименьшей суммой элементов. Вывести найденные строки и сумму их элементов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2013, 13:31     Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов.
Посмотрите здесь:

C++ Поменять местами два ряда матрицы с наибольшей и наименьшей сумой элементов
Найти строку матрицы с наибольшей и наименьшей суммой элементов C++
C++ Найти номер строки матрицы с наибольшей суммой элементов
C++ Строка матрицы с наименьшей суммой элементов.
C++ Найти строку матрицы с максимальной суммой элементов
C++ Дана прямоугольная матрица. Найти строку с наибольшей суммой элементов
C++ Матрицы. Найти строку с максимальной суммой модулей элементов
Динамические массивы С++ - найти строку с наибольшей и наименьшей суммой элементов C++
Найти столбец матрицы с наименьшей суммой элементов и записать его в виде одномерного массива C++
Найти строки матрицы с наибольшей и наименьшей суммой элементов C++
Найти номер строки матрицы с наибольшей суммой элементов C++
Выбрать строку матрицы с наибольшей суммой элементов и каждый отрицательный элемент умножить на номер столбца C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
01.11.2013, 13:55
  #2
 Комментарий модератора 
Пункт 5.16 Правил: Одна тема - один вопрос.
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
01.11.2013, 14:11     Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов. #3
Задача 1:
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <memory.h>
 
#define N 5
#define M 10
 
int main(int argc, char* argv[])
{
    int** A = new int*[N];
    memset((void*)A, 0x00, 4 * N);
 
    for (int t1 = 0; t1 < N ; t1++)
    {
        A[t1] = new int[M];
        for (int t2 = 0; t2 < M; t2++)
        {
            A[t1][t2] = rand() % 9 + 1;
            printf("%d ",A[t1][t2]);
        }
 
        printf("\n");
    }
 
    printf("\n");
 
    int min = 0, min_i = 0;
    int max = 0, max_i = 0;
    for (int i = 0; i < N; i++)
    {
        int k = 0, sum = 0;
        while (k < M) sum+=A[i][k++];
        if (sum > max) { max = sum; max_i = i; }
        if (sum < min || min == 0) { min = sum; min_i = i; }
    }
 
    printf("min_sum = %d min_i = %d\n", min, min_i);
    printf("max_sum = %d max_i = %d\n", max, max_i);
    
    _getch();
 
    return 0;
}
http://codepad.org/soL8l1qS
Миниатюры
Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов.  
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
01.11.2013, 14:13     Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов. #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main(int argc, char* argv[])
{
    char* str = "c++ is \"programming\" language\0";
 
    printf("%s\n",str);
 
    int i = 0; char first[256] = "\0";
    char* last = strrchr(str,'\"') + 1;
    while (*str != '\"') first[i++] = *str++;
    
    first[i] = '\0'; strcat(first, ++last);
 
    str = first; printf("%s\n",str);
 
    _getch();
}
Миниатюры
Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов.  
egor2116
338 / 369 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
01.11.2013, 14:41     Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов. #5
Наверное как то так. Не проверял.
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
#include <iostream>
#include <cstdlib>
 
int main()
{
    srand(time(NULL));
    size_t SIZE;
    int ** matrix,*sum_arr;
    int max = 0,min = 0,max_idx = 0,min_idx = 0;
    bool first = true;
    
    std::cout << "Input size matrix :"; std::cin >> SIZE;
    
    sum_arr = new int[SIZE];
    
    matrix = new int*[SIZE];
    for(int i = 0; i < SIZE; ++i)
            matrix[SIZE] = new int[SIZE];
    
    for(int i = 0; i < SIZE; ++i)
    for(int j = 0; j < SIZE; ++j)
            matrix[i][j] = rand()%10+1;
    
    for(int i = 0; i < SIZE; ++i)
    {
       for(int j = 0; j < SIZE; ++j)
           sum_arr[i] += matrix[i][j];
           
        if(first) { min = sum_arr[i]; first = false; }
        if(max < sum_arr[i])
              { max = sum_arr[i]; max_idx = i; }
        if(min > sum_arr[i] && !first)
              { min = sum_arr[i]; min_idx = i; }
    }
    
    std::cout << "Max string # " << max_idx << " - ";
    for(int i = 0; i < SIZE; ++i)
        std::cout << matrix[max_idx][i] << " ";
        std::cout << "Summa = " << max << std::endl;   
        
    std::cout << "Min string # " << min_idx << " - ";
    for(int i = 0; i < SIZE; ++i)
        std::cout << matrix[min_idx][i] << " ";
        std::cout << "Summa = " << min << std::endl;
    
    for(int i = 0; i < SIZE; ++i)
        delete matrix[i];
        delete [] matrix;
        
    delete [] sum_arr; 
    
    system("PAUSE");
    return 0;
}
Yandex
Объявления
01.11.2013, 14:41     Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru