Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2014, 08:32   #1
malikon
Пользователь
 
Регистрация: 24.01.2014
Сообщений: 28
По умолчанию Задача на матрицу C++

Дана матрица натуральных чисел,(получаемая через rand()). Определить, верно ли утверждение: сумма элементов каждого i-го столбца матрицы больше суммы i-й строки. Помогите доделать/исправить. (C++)
Код:
#include <stdio.h>
#include <stdlib.h>
 
const int N = 5;
 
int main(){
    int matr[N][N], n=0, sumrow=0, sumcol=0;
    for(int i=0; i<N; i++)
        for(int j=0; j<N; j++)
            matr[i][j]=rand()%10;
 
 
    for(int i=0; i<N; i++){
        for(int j=0; j<N; j++)
            printf("%d ", matr[i][j]);
        printf("\n");
    }
    
    for(int i=0; i<N; i++){
        sumcol += matr[i][n];
        sumrow += matr[n][i]; 
                
                
    }
 
    printf("\nSumma of %d column = %d\n", n, sumcol);
    printf("Summa of %d row = %d\n", n, sumrow);
    printf("Summa of %d column %s then of %d row", n,((sumcol>sumrow)?"larger(>)":"less(<)"), n);
}
malikon вне форума Ответить с цитированием
Старый 12.02.2014, 09:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
    int matr[N+1][N+1]={0}, n=0, sumrow=0, sumcol=0;
    for(int i=0; i<N; i++)
        for(int j=0; j<N; j++) {
            matr[i][j]=rand()%10; matr[N][j]+=matr[i][j]; matr[i][N]+=matr[i][j]; }
 
 
    for(int i=0; i<N; i++){
        for(int j=0; j<N; j++)
            printf("%d ", matr[i][j]);
        printf("\n");
    }
    
    for(int i=0; i<N; i++){if(matr[i][N]==matr[N][i]) printf("строка %d  подходит",i);    }
Идея ясна?
P.S. Не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2014, 10:32   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Вопрос:
Код:
N+1
ЗАЧЕМ выделять память под лишний элемент?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 12.02.2014, 10:41   #4
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Цитата:
ЗАЧЕМ выделять память под лишний элемент?
Чтобы не выделять отдельно память под Н элементов для хранения "суммы элементов каждого столбца"...
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 12.02.2014, 13:58   #5
malikon
Пользователь
 
Регистрация: 24.01.2014
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
    int matr[N+1][N+1]={0}, n=0, sumrow=0, sumcol=0;
    for(int i=0; i<N; i++)
        for(int j=0; j<N; j++) {
            matr[i][j]=rand()%10; matr[N][j]+=matr[i][j]; matr[i][N]+=matr[i][j]; }
 
 
    for(int i=0; i<N; i++){
        for(int j=0; j<N; j++)
            printf("%d ", matr[i][j]);
        printf("\n");
    }
    
    for(int i=0; i<N; i++){if(matr[i][N]==matr[N][i]) printf("строка %d  подходит",i);    }
Идея ясна?
P.S. Не проверял.
Ошибка есть.
Ошибка: name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]

Последний раз редактировалось malikon; 12.02.2014 в 14:00.
malikon вне форума Ответить с цитированием
Старый 12.02.2014, 14:12   #6
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Цитата:
Сообщение от Ezhik Kihze Посмотреть сообщение
Чтобы не выделять отдельно память под Н элементов для хранения "суммы элементов каждого столбца"...
Понятно, каюсь, сразу не заметил
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на матрицу Анастасия12 Паскаль, Turbo Pascal, PascalABC.NET 4 19.04.2012 17:58
Задача на матрицу на с++ mary++ Помощь студентам 1 15.01.2012 02:11
задача на матрицу t992 Общие вопросы Delphi 1 15.06.2011 11:24
Задача на матрицу VNS Помощь студентам 2 22.11.2009 13:47
Задача на матрицу jorjinho10 Паскаль, Turbo Pascal, PascalABC.NET 0 28.04.2009 19:55