nadyatsoi
?>

Напишите программу, которая находит минимальный и максимальный элементы в матрице. если в матрице есть несколько одинаковых минимальных (максимальных) элементов, нужно найти индексы первого такого элемента в порядке обхода по строкам: сверху вниз, слева направо. входные данные в первой строке записаны через пробел размеры матрицы: количество строк n и количество столбцов m ( 1 ≤ n , m ≤ 100 в следующих n строках записаны строки матрицы, в каждой – по m натуральных чисел, разделённых пробелами. выходные данные в первой строке программа должна вывести индексы минимального элемента (строку и столбец), а затем – его значение. нумерация строк и столбцов начинается с единицы. все числа разделены пробелами. во второй строке выводится информация о максимальном элементе в том же формате. примеры входные данные 4 5 1 3 2 54 24 75 12 3 46 9 13 26 56 9 12 14 90 97 6 34 выходные данные 1 1 1 4 3 97

Информатика

Ответы

sergeevich
// PascalABC.NET 3.2, сборка 1427 от 24.04.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n,m:integer;
  Read(n,m);
  var a:=ReadMatrInteger(n,m);
  var t:=a.ElementsWithIndexes.MinBy(x->x[2]);
  Println(t[0]+1,t[1]+1,t[2]);
  t:=a.ElementsWithIndexes.MaxBy(x->x[2]);
  Println(t[0]+1,t[1]+1,t[2]);
end.

Пример
4 5
1 3 2 54 24
75 12 3 46 9
13 26 56 9 12
14 90 97 6 34
1 1 1
4 3 97
Мария
Лови решение, допилил

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main()
{
 /*
   Детский сад:
   id - номер детского сада;
   toylist - список игрушек в детском саду
 */
        struct house
        {
         unsigned id;
         vector<unsigned> toylist;
        };

    /*
      Игрушка:
      id - уникальный номер игрушки;
      name - название игрушки
    */
    struct toy
    {
        unsigned id;
        string name;
    };

    // Объявляем необходимые переменные
    vector<house> houses;
    vector<toy> toys;
    toy c_toy;
    house c_house;
    vector<unsigned> t_list;

    // Заполняем массив игрушек
    char ch='y';
    unsigned toy_id=1;
    string toy_name;
    do
    {
        cout <<toy_id <<"-я игрушка: ";
        getline(cin, toy_name);
        c_toy.id=toy_id;
        c_toy.name=toy_name;
        toys.push_back(c_toy);
        cout <<"Добавить ещё одну игрушку? (y/n): ";
        cin >>ch;
        cin.ignore();
        if((ch=='y') || (ch=='Y'))
          toy_id++;
    } while((ch=='y') || (ch=='Y'));

    // Выводим на экран список всех игрушек
    for(unsigned i=0; i<toys.size(); ++i)
    {
        cout <<"Игрушка " <<toys[i].id <<" - " <<toys[i].name <<endl;
    }

    // Заполняем данные по детским садам
    unsigned house_id=1;
    unsigned toy_num;
    do
    {
        cout <<house_id <<"-й детский сад. Введите номера игрушек: " <<endl;
        // Заполняем детский сад игрушками
        do
        {
            cin >>toy_num;
            t_list.push_back(toy_num);
            cout <<"Добавить еще? (y/n): ";
            cin >>ch;
            cin.ignore();
        } while((ch=='y') || (ch=='Y'));

        c_house.id=house_id;
        c_house.toylist = t_list;
        t_list.clear();
        houses.push_back(c_house);
        cout <<"Добавить ещё детский сад? (y/n): ";
        cin >>ch;
        if((ch=='y') || (ch=='Y')) house_id++;
    } while((ch=='y') || (ch=='Y'));

    // Выводим данные по всем детским садам
    for(unsigned i=0; i<houses.size(); ++i)
    {
      cout <<" Детсад √" <<houses[i].id <<" - игрушки: ";
      for(unsigned j=0; j<houses[i].toylist.size(); ++j)
        cout <<houses[i].toylist[j] <<" ";
      cout <<endl;
    }

    // Ищем игрушки, которые есть во всех детских садах
    unsigned t;
    bool founded = false;
    vector<unsigned> t1, t2;
    for(unsigned i=0; i<toys.size(); i++)
    {
        t=toys[i].id;
        for(unsigned j=0; j<houses.size(); j++)
        {
            for(unsigned k=0; k<houses[j].toylist.size(); k++)
            {
                if(t==houses[j].toylist[k])
                  founded = true;
            }
            if(founded) t1.push_back(t);
            founded = false;
        }
        unsigned h=houses.size();
        if(t1.size()==h)
          t2.push_back(t);
        t1.clear();
    }
    cout <<"Игрушки, которые есть во всех детских садах:" <<endl;
    for(unsigned i=0; i<t2.size(); ++i)
      for(unsigned j=0; j<toys.size(); ++j)
        if(t2[i]==toys[j].id)
          cout <<t2[i] <<" (" <<toys[j].name <<"), ";
    cout <<endl;

    // Ищем игрушки, которых нет ни в одном детском саду
    t1.clear();
    t2.clear();
    founded=false;
    for(unsigned i=0; i<toys.size(); i++)
    {
        t=toys[i].id;
        for(unsigned j=0; j<houses.size(); j++)
        {
            for(unsigned k=0; k<houses[j].toylist.size(); k++)
            {
                if(t==houses[j].toylist[k])
                  founded = true;
            }
            if(!founded) t1.push_back(t);
            founded = false;
        }
        unsigned h=houses.size();
        if(t1.size()==h)
          t2.push_back(t);
        t1.clear();
    }
    cout <<"Игрушки, которых нет ни в одном детском саду:" <<endl;
    for(unsigned i=0; i<t2.size(); ++i)
      for(unsigned j=0; j<toys.size(); ++j)
        if(t2[i]==toys[j].id)
          cout <<t2[i] <<" (" <<toys[j].name <<"), ";
    cout <<endl;

    return 0;
}

Тестовый прогон:
1-я игрушка: Барабан
Добавить ещё одну игрушку? (y/n): y
2-я игрушка: Кукла Барби
Добавить ещё одну игрушку? (y/n): y
3-я игрушка: Вертолет
Добавить ещё одну игрушку? (y/n): y
4-я игрушка: Конструктор
Добавить ещё одну игрушку? (y/n): y
5-я игрушка: Железная дорога
Добавить ещё одну игрушку? (y/n): y
6-я игрушка: Флейта
Добавить ещё одну игрушку? (y/n): y
7-я игрушка: Слон
Добавить ещё одну игрушку? (y/n): y
8-я игрушка: Самосвал
Добавить ещё одну игрушку? (y/n): y
9-я игрушка: Кран
Добавить ещё одну игрушку? (y/n): y
10-я игрушка: Пожарная машина
Добавить ещё одну игрушку? (y/n): n
Игрушка 1 - Барабан
Игрушка 2 - Кукла Барби
Игрушка 3 - Вертолет
Игрушка 4 - Конструктор
Игрушка 5 - Железная дорога
Игрушка 6 - Флейта
Игрушка 7 - Слон
Игрушка 8 - Самосвал
Игрушка 9 - Кран
Игрушка 10 - Пожарная машина
1-й детский сад. Введите номера игрушек:
1
Добавить еще? (y/n): y
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
2-й детский сад. Введите номера игрушек:
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
3-й детский сад. Введите номера игрушек:
1
Добавить еще? (y/n): y
2
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
4-й детский сад. Введите номера игрушек:
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): y
1
Добавить еще? (y/n): y
6
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): n
 Детсад √1 - игрушки: 1 2 3 4 5
 Детсад √2 - игрушки: 2 3 4
 Детсад √3 - игрушки: 1 2 4 5
 Детсад √4 - игрушки: 2 3 4 5 1 6
Игрушки, которые есть во всех детских садах:
2 (Кукла Барби), 4 (Конструктор),
Игрушки, которых нет ни в одном детском саду:
7 (Слон), 8 (Самосвал), 9 (Кран), 10 (Пожарная машина),
Для закрытия данного окна нажмите <ВВОД>...
Салиев
Лови решение, допилил

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main()
{
 /*
   Детский сад:
   id - номер детского сада;
   toylist - список игрушек в детском саду
 */
        struct house
        {
         unsigned id;
         vector<unsigned> toylist;
        };

    /*
      Игрушка:
      id - уникальный номер игрушки;
      name - название игрушки
    */
    struct toy
    {
        unsigned id;
        string name;
    };

    // Объявляем необходимые переменные
    vector<house> houses;
    vector<toy> toys;
    toy c_toy;
    house c_house;
    vector<unsigned> t_list;

    // Заполняем массив игрушек
    char ch='y';
    unsigned toy_id=1;
    string toy_name;
    do
    {
        cout <<toy_id <<"-я игрушка: ";
        getline(cin, toy_name);
        c_toy.id=toy_id;
        c_toy.name=toy_name;
        toys.push_back(c_toy);
        cout <<"Добавить ещё одну игрушку? (y/n): ";
        cin >>ch;
        cin.ignore();
        if((ch=='y') || (ch=='Y'))
          toy_id++;
    } while((ch=='y') || (ch=='Y'));

    // Выводим на экран список всех игрушек
    for(unsigned i=0; i<toys.size(); ++i)
    {
        cout <<"Игрушка " <<toys[i].id <<" - " <<toys[i].name <<endl;
    }

    // Заполняем данные по детским садам
    unsigned house_id=1;
    unsigned toy_num;
    do
    {
        cout <<house_id <<"-й детский сад. Введите номера игрушек: " <<endl;
        // Заполняем детский сад игрушками
        do
        {
            cin >>toy_num;
            t_list.push_back(toy_num);
            cout <<"Добавить еще? (y/n): ";
            cin >>ch;
            cin.ignore();
        } while((ch=='y') || (ch=='Y'));

        c_house.id=house_id;
        c_house.toylist = t_list;
        t_list.clear();
        houses.push_back(c_house);
        cout <<"Добавить ещё детский сад? (y/n): ";
        cin >>ch;
        if((ch=='y') || (ch=='Y')) house_id++;
    } while((ch=='y') || (ch=='Y'));

    // Выводим данные по всем детским садам
    for(unsigned i=0; i<houses.size(); ++i)
    {
      cout <<" Детсад √" <<houses[i].id <<" - игрушки: ";
      for(unsigned j=0; j<houses[i].toylist.size(); ++j)
        cout <<houses[i].toylist[j] <<" ";
      cout <<endl;
    }

    // Ищем игрушки, которые есть во всех детских садах
    unsigned t;
    bool founded = false;
    vector<unsigned> t1, t2;
    for(unsigned i=0; i<toys.size(); i++)
    {
        t=toys[i].id;
        for(unsigned j=0; j<houses.size(); j++)
        {
            for(unsigned k=0; k<houses[j].toylist.size(); k++)
            {
                if(t==houses[j].toylist[k])
                  founded = true;
            }
            if(founded) t1.push_back(t);
            founded = false;
        }
        unsigned h=houses.size();
        if(t1.size()==h)
          t2.push_back(t);
        t1.clear();
    }
    cout <<"Игрушки, которые есть во всех детских садах:" <<endl;
    for(unsigned i=0; i<t2.size(); ++i)
      for(unsigned j=0; j<toys.size(); ++j)
        if(t2[i]==toys[j].id)
          cout <<t2[i] <<" (" <<toys[j].name <<"), ";
    cout <<endl;

    // Ищем игрушки, которых нет ни в одном детском саду
    t1.clear();
    t2.clear();
    founded=false;
    for(unsigned i=0; i<toys.size(); i++)
    {
        t=toys[i].id;
        for(unsigned j=0; j<houses.size(); j++)
        {
            for(unsigned k=0; k<houses[j].toylist.size(); k++)
            {
                if(t==houses[j].toylist[k])
                  founded = true;
            }
            if(!founded) t1.push_back(t);
            founded = false;
        }
        unsigned h=houses.size();
        if(t1.size()==h)
          t2.push_back(t);
        t1.clear();
    }
    cout <<"Игрушки, которых нет ни в одном детском саду:" <<endl;
    for(unsigned i=0; i<t2.size(); ++i)
      for(unsigned j=0; j<toys.size(); ++j)
        if(t2[i]==toys[j].id)
          cout <<t2[i] <<" (" <<toys[j].name <<"), ";
    cout <<endl;

    return 0;
}

Тестовый прогон:
1-я игрушка: Барабан
Добавить ещё одну игрушку? (y/n): y
2-я игрушка: Кукла Барби
Добавить ещё одну игрушку? (y/n): y
3-я игрушка: Вертолет
Добавить ещё одну игрушку? (y/n): y
4-я игрушка: Конструктор
Добавить ещё одну игрушку? (y/n): y
5-я игрушка: Железная дорога
Добавить ещё одну игрушку? (y/n): y
6-я игрушка: Флейта
Добавить ещё одну игрушку? (y/n): y
7-я игрушка: Слон
Добавить ещё одну игрушку? (y/n): y
8-я игрушка: Самосвал
Добавить ещё одну игрушку? (y/n): y
9-я игрушка: Кран
Добавить ещё одну игрушку? (y/n): y
10-я игрушка: Пожарная машина
Добавить ещё одну игрушку? (y/n): n
Игрушка 1 - Барабан
Игрушка 2 - Кукла Барби
Игрушка 3 - Вертолет
Игрушка 4 - Конструктор
Игрушка 5 - Железная дорога
Игрушка 6 - Флейта
Игрушка 7 - Слон
Игрушка 8 - Самосвал
Игрушка 9 - Кран
Игрушка 10 - Пожарная машина
1-й детский сад. Введите номера игрушек:
1
Добавить еще? (y/n): y
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
2-й детский сад. Введите номера игрушек:
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
3-й детский сад. Введите номера игрушек:
1
Добавить еще? (y/n): y
2
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
4-й детский сад. Введите номера игрушек:
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): y
1
Добавить еще? (y/n): y
6
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): n
 Детсад √1 - игрушки: 1 2 3 4 5
 Детсад √2 - игрушки: 2 3 4
 Детсад √3 - игрушки: 1 2 4 5
 Детсад √4 - игрушки: 2 3 4 5 1 6
Игрушки, которые есть во всех детских садах:
2 (Кукла Барби), 4 (Конструктор),
Игрушки, которых нет ни в одном детском саду:
7 (Слон), 8 (Самосвал), 9 (Кран), 10 (Пожарная машина),
Для закрытия данного окна нажмите <ВВОД>...

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая находит минимальный и максимальный элементы в матрице. если в матрице есть несколько одинаковых минимальных (максимальных) элементов, нужно найти индексы первого такого элемента в порядке обхода по строкам: сверху вниз, слева направо. входные данные в первой строке записаны через пробел размеры матрицы: количество строк n и количество столбцов m ( 1 ≤ n , m ≤ 100 в следующих n строках записаны строки матрицы, в каждой – по m натуральных чисел, разделённых пробелами. выходные данные в первой строке программа должна вывести индексы минимального элемента (строку и столбец), а затем – его значение. нумерация строк и столбцов начинается с единицы. все числа разделены пробелами. во второй строке выводится информация о максимальном элементе в том же формате. примеры входные данные 4 5 1 3 2 54 24 75 12 3 46 9 13 26 56 9 12 14 90 97 6 34 выходные данные 1 1 1 4 3 97
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

yurievaalxndra55
Андрееевич787
kokukhin
vnolenev
kisuhakisa
tatry2005
Александр Сергей
ksenia15-79
razumeiko0790
annademidova-74
Gennadievna bessonov
Валентинович133
Вадимовна
ann-perminova2008
osipovasalex5316