1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Задача: Определение строки в дв. массиве, сумма эл. которой максимальн

Тема в разделе "Вопросы новичков и не только", создана пользователем D1em, 9 дек 2010.

  1. D1em

    D1em Гость

    Репутация:
    0
    ребят, я только начал изучать С, помогите с практической кому не трудно
    вот задание
    __________________________________________________________________

    Написать программу, которая определяет номер строки квадратной матрицы,
    сумма элементов которых максимальна
     
  2. DarkKnight

    DarkKnight Well-Known Member

    Репутация:
    0
    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Код:
    /*
    Написать программу, которая определяет номер строки квадратной матрицы,
    сумма элементов которых максимальна
    */
    /*
    codeby.net
    Autor: DarkKnight125 (Denis Goncharov)
    */
    #include <iostream>
    #include <iomanip>
    #include <time.h>
    
    using namespace std;
    
    void main(void)
    {
    setlocale(LC_ALL,".1251"); //Установим локаль в код. страницу 1251
    int Arr[500][500]; //Наша матрица 500x500 элементов макс.
    int Size; //Это будет нашей размерностью кв. матрицы
    srand(time(NULL)); //Инициализируем генератор случ. величины
    
    cout<< "Введите размерность кв. матрицы : ";
    cin >> Size; //Введем размерность с клавиатуры
    //Генерация значений матрицы и вывод их на экран
    for (int i = 0; i< Size; i++) //Обойдем все строки
    {
    for (int j = 0; j< Size; j++) //Обойдем все столбны
    {
    Arr[i][j] = rand()%100 * (rand()%2?-1:1); //Генерируем значение от -99 до 99
    cout << setw(4) << Arr[i][j]; //Выведим элемент на экран
    }
    cout << endl; //В конце строки переведем корретку
    }
    
    int SumMax = numeric_limits<int>::min(); //Сумма максимальная, Для начала сделаем ее очень маленькой
    int Index = -1; //Индекс нужной строки
    for (int i =0; i< Size; i++) //Обойдем опять же весь массив
    {
    int TempSum = 0; //Текущая сумма элементов (текущей строки)
    for (int j=0; j< Size; j++) //Обойдем столбцы
    TempSum += Arr[i][j]; //И просуммируем элементы
    if (TempSum > SumMax) //Если на выходе TempSum > SumMax 
    {
    SumMax = TempSum; //То записываем в SumMax новое значение
    Index = i; //И запоминаем индекс строки (кстати в C/С++ идексы массива начинают нумероваться с нуля, так что в конце к этому индексу прибавим единицу)
    }
    }
    //Выведим результат на экран
    cout << endl;
    cout << "Строка с макс. суммой элементов : " << endl;
    for (int i = 0; i<Size; i++)
    cout<< "\t" << Arr[Index][i];
    cout << endl << "Индекс данной строки Index = " << Index+1 << endl;
    cout << "Сумма элементов данной строки Sum = " << SumMax << endl;
    }
     

    Вложения:

    • Задача: Определение строки в дв. массиве, сумма эл. которой максимальн
      maxstroka.jpg
      Размер файла:
      50,8 КБ
      Просмотров:
      18
  3. DarkKnight

    DarkKnight Well-Known Member

    Репутация:
    0
    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    2 D1em : Тема более не актуальна ???
     
Загрузка...

Поделиться этой страницей