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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проход матрицы, Дан двумерный массив целых чисел А [ 1.. 
:(
    Опции темы
dima19911991
Дата 27.5.2011, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Дан двумерный массив целых чисел А [ 1..N , 1..N ]. Сформируйте линейный массив В [ 1..NN ], получающийся при чтении данного массива так, как показано на рисунке.
помогите плииииизззз написать функцию прохода по матрицы

Добавлено через 3 минуты и 51 секунду
Язык С++

Присоединённый файл ( Кол-во скачиваний: 21 )
Присоединённый файл  __________12.GIF 4,64 Kb
PM MAIL   Вверх
dima19911991
Дата 27.5.2011, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

void ForMas(const int *pA, int *pB, int n)
{
    pA+=n*n-1;
    for(int d=0; d<n; d++)
    {
        for(int j=0; j<d; j++)
        {
            cout<<"d="<<d<<'\t'<<"j="<<j<<'\t'<<"pA="<<*pA<<'\n';
            *pB=*pA;
            (d%2)?pA+=n-1:pA-=n-1;
        }
        cout<<"d="<<d<<'\t'<<'\t'<<"pA="<<*pA<<'\n';
        if(d==n-1)break;
        
        if(d%2)
        {
            *pB++=*pA--;
        }
        else
        {
            *pB++=*pA;
            pA-=n;
        }
        

    }

    
    for(d=n-1; d>=0; d--)
    {
        if(d%2)
        {
            *pB=*pA;
            pB++;
            pA-=n;
        }
        else
        {
            *pB=*pA; pB++;
            pA--;
        }        
        
        for(int j=0; j<d; j++)
        {
            cout<<"d="<<d<<'\t'<<"j="<<j<<'\t'<<"pA="<<*pA<<'\n';
            *pB=*pA;
            (d%2)?pA-=n-1:pA+=n-1;
        }
}



немного некоректно работает

Это сообщение отредактировал(а) JackYF - 27.5.2011, 18:35
PM MAIL   Вверх
dima19911991
Дата 28.5.2011, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



помогите плиззз уже неделю мучаюсь не могу найти ошибку!!!
PM MAIL   Вверх
borisbn
Дата 28.5.2011, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Код

#include <iostream>
#include <iomanip>

using namespace std;

const int ROWS = 7;
const int COLS = 7;

int array_2D[ ROWS ] [ COLS ];
int array[ ROWS * COLS ];

int main() {
    for ( int y = 0; y < ROWS; y++ ) {
        for ( int x = 0; x < COLS; x++ ) {
            array_2D[ y ][ x ] = y * COLS + x;
            cout << setw(2) << array_2D[ y ][ x ] << " ";
        }
        cout << endl;
    }
    cout << endl;
    int y = ROWS - 1;
    int x = COLS - 1;
    array[ 0 ] = array_2D[ y ][ x ];
    cout << setw(2) << array_2D[ y ][ x ] << " ";
    int k = 1;
    do {
        if ( x == COLS - 1 || x == 0 ) {
            if ( y > 0 ) {
                y--;
            }
            else {
                x--;
            }
        }
       else {
           x--;
       }   
        while ( 1 ){
            array[ k ] = array_2D[ y ][ x ];
            cout << setw(2) << array_2D[ y ][ x ] << " ";
            k++;
            if ( y == ROWS - 1 || x == 0 ) {
                break;
            }
            y++;
            x--;
        }
        if ( x == COLS - 1 || x == 0 ) {
            if ( y > 0 ) {
                y--;
            }
            else {
                x--;
            }
        }
        else {
            x--;
        }
        while ( 1 ){
            array[ k ] = array_2D[ y ][ x ];
            cout << setw(2) << array_2D[ y ][ x ] << " ";
            k++;
            if ( y == 0 || x == COLS - 1 ) {
                break;
            }
            y--;
            x++;
        }
    } while( k < ROWS * COLS );
    cout << endl;
}

http://liveworkspace.org/code/8687806fe125...96f9a1f388c91f5


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
dima19911991
Дата 30.5.2011, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а что с моим вариантом??
PM MAIL   Вверх
bsa
Дата 30.5.2011, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



dima19911991, а твой вариант даже не компилируется, так как не полный.
По сути, вариант borisbn от твоего почти не отличается. сравни.  smile 
PM   Вверх
dima19911991
Дата 30.5.2011, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну я понял что он не компилируется потому что это отдельная функция(кусок програмы)....
просто я хочу узнать в чем я ошибся в своем варианте!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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