Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
DirtyBASS
8 / 8 / 1
Регистрация: 14.09.2009
Сообщений: 59
#1

Циклический сдвиг столбцов в StringGrid

14.09.2009, 18:25. Просмотров 642. Ответов 3
Метки нет (Все метки)

Прошу помощи, как написать функцию, которая cдвигает циклически столбцы матрицы (StringGrid) так, что первый столбец переходит на место второго, второй – на место третьего и т. д., а последний столбец перемещается на место первого ?? Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2009, 18:25
Ответы с готовыми решениями:

Циклический сдвиг слова влево
Несколько часов уже бьюсь над этой дурацкой задачей(( (помогите решить…. Нужно...

Осуществить циклический сдвиг прямоугольной матрицы вправо или вниз на n элементов
Здравствуйте. Видел несколько тем похожих, но нигде нет конкретного решения....

Осуществить циклический сдвиг элементов квадратной матрицы на n элементов вправо или вниз
Осуществить циклический сдвиг элементов квадратной матрицы на n элементов...

Циклический сдвиг элементов прямоугольной матрицы на n элементов вправо
помогите!Осуществить циклический сдвиг элементов прямоугольной матрицы на n...

Сумма столбцов в StringGrid
Помогите плиз мне надо рассчитать сумму столбцов в StringGrid.

3
АНК
124 / 115 / 17
Регистрация: 27.02.2007
Сообщений: 291
14.09.2009, 19:32 #2
Это пример как заполнять StringGrid (из справки C++ Builder)
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int I, J, K;
  K = 0;
  for (I = 0; I < StringGrid1->ColCount; I++)
    for (J = 0; J < StringGrid1->RowCount; J++)
      StringGrid1->Cells[I][J] = IntToStr(++K);
}
А Вам надо первую ячейку из первой строки (хоть и заголовка) запомнить, переписать в цикле всю строку со смещением и вставить в конец то, что запомнили. И так в цикле по всем строкам. Это будет сдвиг на один столбец.
И так далее ...
0
DirtyBASS
8 / 8 / 1
Регистрация: 14.09.2009
Сообщений: 59
14.09.2009, 22:23  [ТС] #3
Цитата Сообщение от АНК Посмотреть сообщение
Это пример как заполнять StringGrid (из справки C++ Builder)
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int I, J, K;
  K = 0;
  for (I = 0; I < StringGrid1->ColCount; I++)
    for (J = 0; J < StringGrid1->RowCount; J++)
      StringGrid1->Cells[I][J] = IntToStr(++K);
}
А Вам надо первую ячейку из первой строки (хоть и заголовка) запомнить, переписать в цикле всю строку со смещением и вставить в конец то, что запомнили. И так в цикле по всем строкам. Это будет сдвиг на один столбец.
И так далее ...
Спасибо, попробую. Если не получится, поможете?
0
Monte-Cristo
2796 / 1382 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
14.09.2009, 23:10 #4
не тестировал код, но исходя из логики, по идеи так:

C++
1
2
3
4
5
6
7
8
9
10
    // move
    for (int i=0; i<StringGrid1->RowCount; i++)
    {
        AnsiString lastelement = StringGrid1->Cells[StringGrid1->ColCount-1][i];
        for (int j=StringGrid1->ColCount-1; j>0; j--)
        {
            StringGrid1->Cells[j][i] = StringGrid1->Cells[j-1][i];
        }
        StringGrid1->Cells[0][i] = lastelement;
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2009, 23:10

StringGrid сумма элементов столбцов
int summ=0; for (int i=1; i&lt; StringGrid1-&gt;RowCount; i++) {...

Копирование столбцов в несколько StringGrid
Серия вопросов, выпуск 3,141592... Всем доброго дня и хорошего настроения....

Двухстрочные заголовки столбцов StringGrid
Подскажите как заполнить ячейку двумя строками к примеру ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru