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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Visual C++] Массивы, (различные операции с элементами) 
:(
    Опции темы
Age
Дата 15.3.2007, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



1) В данной действительной квадратной матрице порядка N найти наибольший по модулю элемент. Получь квадратную матрицу порядка N-1 путем выбрасывания из исходной матрицы строки и столбца, на пересечении которых находится данный элемент.

2)Дана действительная квадратная матрица порядка N, все элементы которой различны. Найти наибольший элемент, среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на перечении этих диагоналей.

3)Дана действительная квадратная матрица порядка N. При помощи перестановок двух строк или столбцов добиться того, чтобы элемент с наименьшим значением располагался в левом нижнем углу.

4)Дана действительная квадратная матрица порядка N. Найти наибольшее из значений элементов, расположенных в защтрихованной части матрицы:
|\     /|       
|  \ /  |      
|____|
(заштрихована чать которая занимает больше места)

5)Даны дествительные числа A,количество которых=N^2. Получить квадратную матрицу порядка N, элементами которой являются числа A, расоложенные по схеме:
_________
|_________
_________|                   
|_________
_________|



Это сообщение отредактировал(а) Alexeis - 15.3.2007, 15:28
PM MAIL   Вверх
apook
Дата 16.3.2007, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



была не была скину писанину из , по крайней мере
на одно задание ответ есть(наверно)
Код

#include <fstream.h>
#include <iomanip.h>
#include <conio.h>

#define N 6
#define M 8

#define by_ROW 0
#define by_CLN 1


struct X
{
    int *elQ; 
    } ___[ 2 ];


void main()
{
int i, j, ii, jj, Mkix[ N ][ M ]={
    {  1,  5,  8,  6,  7,  9, 10, 52 },
    {  5,  5, 45, 16, 88, 68, 32,  5 },
    {  8,  1,  5, 61,  2, 44, 97,  5 },
    {  1, 36, 32, 18, 33, 10,  7, 97 },
    { 14,  8,  7, 12,  6,  0, 14, 97 },
    {  8,  7,  6, 52,  4,  5,  5, 52 }
    }, maxel, xelQ=0, c, st, **NMkix;

X *___ =new X[ 2*sizeof( X ) ];

// максимальный элемент
maxel=Mkix[ 0 ][ 0 ];
for( i=0; i<N; ++i )
    for( j=0; j<M; ++j )
        if( Mkix[ i ][ j ]>maxel )
            maxel=Mkix[ i ][ j ];

// сколько их
for( i=0; i<N; ++i )
    for( j=0; j<M; ++j )
        if( Mkix[ i ][ j ]==maxel )
            ++xelQ;

// всп-ые массивы для хр-я позиций м-элементов
___[ by_ROW ].elQ=new int[ xelQ ];
for( i=0; i<xelQ; ++i )
    ___[ by_ROW ].elQ[ i ]=-1;
    ___[ by_CLN ].elQ[ i ]=-1;

// обнаружим эти позиции...
for( i=0, c=0, st=0; i<N; ++i )
    for( j=0; j<M; ++j )
        if( Mkix[ i ][ j ]==maxel )
            for( c=0; c<xelQ; ++c )
                if( ___[ by_ROW ].elQ[ c ]==j )
                     break;
                else
                {   
                    ___[ by_ROW ].elQ[ st ]=j; // <--по рядам
                    ___[ by_CLN ].elQ[ st ]=i; // <--по столбцам
                    ++st;
                    break; 
                    }

// массив который будет в результате
NMkix=new int *[ N-xelQ ]; 
for( i-0; i<M-xelQ; ++i )
    NMkix[ i ]=new[ M-xelQ ];

// запулням миссив
for( i=0, ii=0; i<N; ++i, ++ii )
{
    st=0;

    for( c=0; c<xelQ; ++c )
        if( ___[ by_CLN ].elQ[ c ]==i )
        {
            st=-1;
            --ii;
            break;
            }
    if( st==-1 ) continue;

    for( j=0, jj=0, st=0; j<M; j++ )
    {
        for( c=0; c<xelQ; ++c )
            if( ___[ by_ROW ].elQ[ c ]==j )
            {
                st=-1;
                break;
                }
        if( st==-1 );
        else
        {
            NMkix[ ii ][ jj ]=Mkix[ i ][ j ];
            ++jj;
            }
        }
    }

cout << "\nОбработанный массив:\n" << setw( 3 );
for( i=0; i<ii; ++i )
{
    for( j=0; j<jj; ++j )
        cout << NMkix[ i ][ j ] << setw( 3 );
    cout << endl;
    }

for( i-0; i<N-xelQ; ++i )
    delete [] NMkix[ i ];
delete [] NMkix;

delete [] ___;

getch();
return;
}


Это сообщение отредактировал(а) Alexeis - 19.3.2007, 11:34


--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

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


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

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

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

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


 




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


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

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