Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Задача на матрицу 
:(
    Опции темы
DAEN
Дата 21.12.2006, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



дана матрица A[N][N)
написать программу содержащию функцию возврата номера строки с максимальной суммой элементов и номера столбека с минимальной суммой элементов!Срочно надо! помогите
PM MAIL   Вверх
likehood
Дата 21.12.2006, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: 12
Всего: 24



Код

#include <iostream>
#include <limits>

const N=5;

int maxstr(int m[N][N])
{
    int S, str=0, max=INT_MIN;
    for (int i=0; i<N; i++)
    {
        S = 0;
        for (int j=0; j<N; j++)
            S+=m[i][j];
        if (S > max) {
            max = S; str=i;
        }
    }
    return str;
}

int mincol(int m[N][N])
{
    int S, col=0, min=INT_MAX;
    for (int j=0; j<N; j++)
    {
        S = 0;
        for (int i=0; i<N; i++)
            S+=m[i][j];
        if (S < min) {
            min = S; col=j;
        }
    }
    return col;
}

int main()
{
    int m[N][N];
    for (int i=0; i<N; i++)
        for (int j=0; j<N; j++)
            std::cin >> m[i][j];
    std::cout << maxstr(m) << '\n' << mincol(m) << '\n';
    return 0;
}


Это сообщение отредактировал(а) baronp - 21.12.2006, 23:18
PM MAIL   Вверх
DAEN
Дата 21.12.2006, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



не работаетsmile
PM MAIL   Вверх
likehood
Дата 21.12.2006, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: 12
Всего: 24



в смысле не работает
не компилится или результат не правильный?
у меня работает
PM MAIL   Вверх
DAEN
Дата 21.12.2006, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



заработало) только можешь переписать через printf i and scanf
а то не могу разобраться((
PM MAIL   Вверх
likehood
Дата 21.12.2006, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: 12
Всего: 24



Код

//#include <iostream>    
#include <stdio.h>
#include <limits>    
const N=5;    
int maxstr(int m[N][N])    
{    
    int S, str=0, max=INT_MIN;    
    for (int i=0; i<N; i++)    
    {    
        S = 0;    
        for (int j=0; j<N; j++)    
            S+=m[i][j];    
        if (S > max) {    
            max = S; str=i;    
        }    
    }    
    return str;    
}    
int mincol(int m[N][N])    
{    
    int S, col=0, min=INT_MAX;    
    for (int j=0; j<N; j++)    
    {    
        S = 0;    
        for (int i=0; i<N; i++)    
            S+=m[i][j];    
        if (S < min) {    
            min = S; col=j;    
        }    
    }    
    return col;    
}    
int main()    
{    
    int m[N][N];    
    for (int i=0; i<N; i++)    
        for (int j=0; j<N; j++)    
            //std::cin >> m[i][j];    
            scanf("%d", &m[i][j]);
    //std::cout << maxstr(m) << '\n' << mincol(m) << '\n';    
    printf("%d\n%d\n", maxstr(m), mincol(m));
    return 0;    
}

PM MAIL   Вверх
DAEN
Дата 21.12.2006, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



что значит библиотека <limits> и что она делает?
PM MAIL   Вверх
likehood
Дата 21.12.2006, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: 12
Всего: 24



Цитата(DAEN @  22.12.2006,  00:57 Найти цитируемый пост)
что значит библиотека <limits> и что она делает?

это не библиотека, в этом файле находятся константы INT_MAX, INT_MIN (их смысл думаю ясен) и много других

PM MAIL   Вверх
DAEN
Дата 22.12.2006, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



в 6 строчке пишит ошибку
error C4430: missing type specifier - int assumed. Note:  C++ DOES NOT SUPPORT DEFAULT-INT
PM MAIL   Вверх
likehood
Дата 22.12.2006, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: 12
Всего: 24



это я торопился, не заметил 
надо после const поставить int (в Си по-умолчанию и так тип int и его можно не писать)

PM MAIL   Вверх
DAEN
Дата 22.12.2006, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



я записал через #define 
соррьки не могу понять что значит INT_MAX и INT_MIN 
PM MAIL   Вверх
Rockie
Дата 22.12.2006, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

Репутация: 13
Всего: 31



DAEN, максимальное и минимальное значения типа int


--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
DAEN
Дата 22.12.2006, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



я не могу понять какую они играют рольsmile
PM MAIL   Вверх
DAEN
Дата 22.12.2006, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.11.2006

Репутация: нет
Всего: нет



можно так записать:
   
#define N 4  
int maxstr(int m[N][N],int INT_MIN=1 ,int INT_MAX=N)   
PM MAIL   Вверх
likehood
Дата 22.12.2006, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: 12
Всего: 24



Цитата(DAEN @  22.12.2006,  01:36 Найти цитируемый пост)
я не могу понять какую они играют роль

а как бы ты стал искать максимальный элемент в массиве? можно переменной max присвоить значение первого
элемента массива (вдруг он и будет максимальным) и цикл начать со второго элемента, а можно присвоить max наименьшее
возможное целое значение (INT_MIN), и цикл начать с 1-го элемна. Тогда при первом проходе в max гарантировано занесется
значение 1-го элемента, как и в первом случае.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.