Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2011, 21:13   #1
Corvette
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 55
По умолчанию Операции со строками массивов.

Здравствуйте!!!

Подскажите, пожалуйста, где ошибка.

Нужно циклически сдвинуть строки вниз и записать измененные три массива в 3-х мерный массив.

Вот есть вот такая программа, которая выдает желаемый результат без записи в массив.

Код:
#include <iostream>
#include <conio.h>

using namespace std;

int main ()
{
  setlocale (LC_ALL, "Russian");
  char A [4][5] = {{"АБВГ"},
                  {"ДЕЖЗ"},
                  {"ИЙКЛ"},
                  {"МНОП"}};
    for (int i=0; i<4; i++)
    {
        for (int j=0; j<5; j++)
        {
        cout << A [i][j] << " ";
        }
    cout << endl;
    }
    
    cout << endl;
    char h = 0;
    
    for (int j=0; j<5; j++)
    {
    h= A[0][j];
    A [0][j] = A [1][j];
    A [1][j] = h;
    }
      
     for (int i=0; i<4; i++)
    {
        for (int j=0; j<5; j++)
        {
        cout << A [i][j] << " ";
        }
    cout << endl;
    }
     cout << endl;
    
     for (int j=0; j<5; j++)
    {
    h= A[1][j];
    A [1][j] = A [2][j];
    A [2][j] = h;
    }
      
     for (int i=0; i<4; i++)
    {
        for (int j=0; j<5; j++)
        {
        cout << A [i][j] << " ";
        }
    cout << endl;
    }
    cout << endl;
    
     for (int j=0; j<5; j++)
    {
    h= A[2][j];
    A [2][j] = A [3][j];
    A [3][j] = h;
    }
      
     for (int i=0; i<4; i++)
    {
        for (int j=0; j<5; j++)
        {
        cout << A [i][j] << " ";
        }
    cout << endl;
    }
    
    getch ();
    return 0;
}
А вот написать компактно без лишних строк с записью в 3-х мерный массив возникли проблемы. Написал вот такой вариант, но что то не так.

Код:
#include <iostream>
#include <conio.h>

using namespace std;

int main ()
{
  setlocale (LC_ALL, "Russian");
char A [4][5] = {{"АБВГ"},
                  {"ДЕЖЗ"},
                  {"ИЙКЛ"},
                  {"МНОП"}};
    
    for (int i=0; i<4; i++)
    {
        for (int j=0; j<5; j++)
        {
        cout << A [i][j] << " ";
        }
    cout << endl;
    }
    cout << endl;
    
    char B [3][4][5] = {{{0}}};
    
    cout << endl;
    char h = 0;
    int p=0;

    for (int i=0; i<4; i++)
    {
    for (int j=0; j<5; j++)
    {
    h= A[i][j];
    A [i][j] = A [i+1][j];
    A [i+1][j] = h;
    }
    }
     
    for (int p=0; p<3; p++)
    {
    for (int i=0; i<4; i++)
    {
    for (int j=0; j<5; j++)
    {
    B [p][i][j] = A [i][j];
    }
    }
    }
    
    
     for (int p=0; p<3; p++)
    {
     for (int i=0; i<4; i++)
    {
    for (int j=0; j<5; j++)
    {
    cout << B [p][i][j] << " ";
    }
    cout << endl;
    }
    }
    
    getch ();
    return 0;
}
Изображения
Тип файла: jpg прога.jpg (14.9 Кб, 63 просмотров)

Последний раз редактировалось Corvette; 16.10.2011 в 21:16.
Corvette вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции со строками. just_dake Помощь студентам 14 16.09.2011 15:32
Операции с элементами массивов Neyrone Помощь студентам 1 22.11.2010 10:03
Паскаль. Операции со строками и обработка массивов. Pascaler Помощь студентам 9 08.04.2010 18:34
Операции со строками ArniLand Общие вопросы C/C++ 1 06.04.2010 21:49