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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Напечатать индексы всех седловых точек2, матрицы 
V
    Опции темы
xxxDiablo
Дата 23.1.2007, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



нуно сделать на Borland C++ в Console Wizard 
Задача:
Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером NxM напечатать индексы всех ее седловых точек
PM MAIL   Вверх
Rockie
Дата 23.1.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



xxxDiablo, тема уже была, юзай поиск




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


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



xxxDiablo, ты глазки вниз опусти, там и найдёшь ответ на свой вопрос.  smile 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
xxxDiablo
Дата 23.1.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Dov @ 23.1.2007,  21:28)
xxxDiablo, ты глазки вниз опусти, там и найдёшь ответ на свой вопрос.  smile

я знаю там похожая задача, но у меня немного другая, там матрица 10х15, а у меня вводимая с клавы, подскажите как это сделать

Это сообщение отредактировал(а) xxxDiablo - 23.1.2007, 21:47
PM MAIL   Вверх
Dov
Дата 23.1.2007, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



Цитата(xxxDiablo @  23.1.2007,  20:40 Найти цитируемый пост)
я знаю там похожая задача, но у меня немного другая, там матрица 10х15, а у меня вводимая с клавы, подскажите как это сделать

А тебе какую надо матрицу? Статическую или динамическую? И какого размера? 



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
xxxDiablo
Дата 23.1.2007, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Dov @ 23.1.2007,  22:59)
Цитата(xxxDiablo @  23.1.2007,  20:40 Найти цитируемый пост)
я знаю там похожая задача, но у меня немного другая, там матрица 10х15, а у меня вводимая с клавы, подскажите как это сделать

А тебе какую надо матрицу? Статическую или динамическую? И какого размера?

Мне нужна обычная матрица, размеры матрицы вводятся с клавы и сама матрица тоже с клавы
PM MAIL   Вверх
Dov
Дата 23.1.2007, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



Цитата(xxxDiablo @  23.1.2007,  22:04 Найти цитируемый пост)
Мне нужна обычная матрица, размеры матрицы вводятся с клавы и сама матрица тоже с клавы

Ну, дела. Ладно. Максимально допустимые размеры какие? 



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
xxxDiablo
Дата 23.1.2007, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Dov @ 23.1.2007,  23:11)
Цитата(xxxDiablo @  23.1.2007,  22:04 Найти цитируемый пост)
Мне нужна обычная матрица, размеры матрицы вводятся с клавы и сама матрица тоже с клавы

Ну, дела. Ладно. Максимально допустимые размеры какие?

50, я думаю, или 100
PM MAIL   Вверх
Dov
Дата 23.1.2007, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



xxxDiablo, ты себе представляешь матрицу 50 х 50 или 100 х 100 вручную вводить, это от 2 500 до 10 000 значений. И как ты её потом на экран выведешь?  smile 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
xxxDiablo
Дата 23.1.2007, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Dov @ 23.1.2007,  23:31)
xxxDiablo, ты себе представляешь матрицу 50 х 50 или 100 х 100 вручную вводить, это от 2 500 до 10 000 значений. И как ты её потом на экран выведешь?  smile

это максимальные размеры, не факт что они такие будут, ведь размеры нада будет вводить в самой готовой проге и саму матрицу тоже
PM MAIL   Вверх
Dov
Дата 24.1.2007, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



20 х 20 тоже хватит, я так думаю.
Код
#include <iostream.h>
#include <iomanip.h>

#define MAX_ROWS 20
#define MAX_COLS 20

int main()
{
    int  matr[MAX_ROWS][MAX_COLS];
    int  rows;
    int  cols;
    int  min;
    int  max;
    int  i, j, k;
    bool found = false;

    // запрашиваем у пользователя кол-во строк и столбцов
    cout << "Vvedite kol-vo strok(ne bolee " << MAX_ROWS << ')' << "   : ";
    cin  >> rows;
    cout << "Vvedite kol-vo stolbcov(ne bolee " << MAX_COLS << ')' << ": ";
    cin  >> cols;
    cout << endl;

    if(rows > MAX_ROWS)
        rows = MAX_ROWS;
    if(cols > MAX_COLS)
        cols = MAX_COLS;

    // инициализируем матрицу
    for(i = 0; i < rows; i++)
    {
        for(j = 0; j < cols; j++)
        { 
            cout << "Vvedite matr[" << i << "][" << j << "] = ";
            cin >> matr[i][j];
        }
    }

    // вывод на экран
    for(i = 0; i < rows; i++)
    {
        for(j = 0; j < cols; j++)
            cout << setw(4) << matr[i][j];
        cout << endl;
    }
    
    // обработка матрицы
    for(i = 0; i < rows; i++)
    {
        min = matr[i][0];
        for(j = 1; j < cols; j++)
            if(matr[i][j] < min)
                min = matr[i][j];                                    
        
        for(j = 0; j < cols; j++)
        {
            if(matr[i][j] == min)
            {
                max = matr[0][j];
                for(k = 1; k < rows; k++)
                    if(matr[k][j] > max)
                        max = matr[k][j];
                if(min == max)
                {
                    found = true;
                    cout << "\nIndex: [" << i << ']' << '[' << j << ']';
                }
            }
        }
    }

    if(!found)
       cout << "\nSedlovoy tochki net\n";

    cout << "\n\nPress any key to quit...\n";
    cin.get();
    
    return 0;    
}



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
xxxDiablo
Дата 24.1.2007, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Dov @ 24.1.2007,  00:07)
20 х 20 тоже хватит, я так думаю.
Код
#include <iostream.h>
#include <iomanip.h>

#define MAX_ROWS 20
#define MAX_COLS 20

int main()
{
    int  matr[MAX_ROWS][MAX_COLS];
    int  rows;
    int  cols;
    int  min;
    int  max;
    int  i, j, k;
    bool found = false;

    // запрашиваем у пользователя кол-во строк и столбцов
    cout << "Vvedite kol-vo strok(ne bolee " << MAX_ROWS << ')' << "   : ";
    cin  >> rows;
    cout << "Vvedite kol-vo stolbcov(ne bolee " << MAX_COLS << ')' << ": ";
    cin  >> cols;
    cout << endl;

    if(rows > MAX_ROWS)
        rows = MAX_ROWS;
    if(cols > MAX_COLS)
        cols = MAX_COLS;

    // инициализируем матрицу
    for(i = 0; i < rows; i++)
    {
        for(j = 0; j < cols; j++)
        { 
            cout << "Vvedite matr[" << i << "][" << j << "] = ";
            cin >> matr[i][j];
        }
    }

    // вывод на экран
    for(i = 0; i < rows; i++)
    {
        for(j = 0; j < cols; j++)
            cout << setw(4) << matr[i][j];
        cout << endl;
    }
    
    // обработка матрицы
    for(i = 0; i < rows; i++)
    {
        min = matr[i][0];
        for(j = 1; j < cols; j++)
            if(matr[i][j] < min)
                min = matr[i][j];                                    
        
        for(j = 0; j < cols; j++)
        {
            if(matr[i][j] == min)
            {
                max = matr[0][j];
                for(k = 1; k < rows; k++)
                    if(matr[k][j] > max)
                        max = matr[k][j];
                if(min == max)
                {
                    found = true;
                    cout << "\nIndex: [" << i << ']' << '[' << j << ']';
                }
            }
        }
    }

    if(!found)
       cout << "\nSedlovoy tochki net\n";

    cout << "\n\nPress any key to quit...\n";
    cin.get();
    
    return 0;    
}

Ты на чем делаешь-то? мне на Borland C++ Console Wizard надо, обязательно, иначе препод пошлет   smile 
Я вот сделал,тока размер матрицы и саму матрицу уже задал в проге, а как сделать чтобы с клавы вводить хз
Код

#include <stdio.h>
#include <conio.h>
#define N 4
#define M 5
void main()
{
int array[N][M]= { 9, 8, 7, 6, 5,
                    24,73,42,17,42,
                    3, 4, 5, 6,  7,
                    90,80,90,90,85 } ; //  80 наибольший в столбце и наименьш. в строке
int j,x,y,i,k,max,min;
     for( j=0;j<M;j++)        // для каждого столбца ищем максимальный элемент 
      {
          max = array[0][j];  // за максимум берем значение из первой строки
          x=0, y=j;           // и текущего столбца

         for(i=1;i<N;i++)
         {                       // и сравниваем с остальными элементами в столбце
             if(max<array[i][j])
             {
                 max=array[i][j], x = i, y = j;
             }
         }

        // теперь в max лежит наибольшее значение, в x и y - его координаты.
         // Остается проверить, если этот эл-т - минимальный в строке.
         // Пробегаемся по строке и смотрим, вдруг какой-то эл-т в строке меньше нашего.
         min = array[x][0];
         for(k=1;k<M;k++)
             if(array[x][k]<min) min = array[x][k];

      // если меньших элементов в строке нет, то это седловая точка
         if(min == max) printf("array[%d][%d] = %d\n",x,y,min);

     }

    getchar();
}


Это сообщение отредактировал(а) xxxDiablo - 24.1.2007, 00:33
PM MAIL   Вверх
Dov
Дата 24.1.2007, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



xxxDiablo, у меня VC++ 6.0
А в чём проблемы?


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Rockie
Дата 24.1.2007, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(xxxDiablo @  23.1.2007,  23:21 Найти цитируемый пост)
50, я думаю, или 100

даешь тыщу! smile
Цитата(Dov @  24.1.2007,  00:27 Найти цитируемый пост)
А в чём проблемы?

похоже у него pure C




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


Новичок



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

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



Цитата(Dov @ 24.1.2007,  00:27)
xxxDiablo, у меня VC++ 6.0
А в чём проблемы?

Проблема в том, что препод не поймет или скажет откуда ты VC++ 6.0 знаешь  smile 
PM MAIL   Вверх
Dov
Дата 24.1.2007, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



Цитата(xxxDiablo @  24.1.2007,  17:24 Найти цитируемый пост)
Проблема в том, что препод не поймет или скажет откуда ты VC++ 6.0 знаешь  

Так ты ему и скажешь, что выучил VC++ 6.0 только за то, что им разговаривал трупСтрауса.



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
xxxDiablo
Дата 24.1.2007, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Dov @ 24.1.2007,  19:11)
Цитата(xxxDiablo @  24.1.2007,  17:24 Найти цитируемый пост)
Проблема в том, что препод не поймет или скажет откуда ты VC++ 6.0 знаешь  

Так ты ему и скажешь, что выучил VC++ 6.0 только за то, что им разговаривал трупСтрауса.

Да нет это бесполезно  smile 
PM MAIL   Вверх
Dov
Дата 24.1.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



xxxDiablo, у тебя что, компилятора под рукой нет? Если есть, то какие ошибки выдаёт? Если ты ничего не будешь говорить, то тебе никто не поможет, здесь нет людей, читающих чужие мысли на расстоянии. Давай, не спи. Работать и ещё раз работать.  smile 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
xxxDiablo
Дата 25.1.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем спасибо за помощь. Остальное долелал сам  smile 
PM MAIL   Вверх
Dov
Дата 25.1.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



Цитата(xxxDiablo @  25.1.2007,  17:12 Найти цитируемый пост)
Остальное долелал сам

Молодец!!! Хвалю!!! smile 



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

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


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

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

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

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


 




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


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

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