Информатика и технология программирования
Практический совет избегать сложные вычисления
//------------------------------------------------------bk34-11.cpp
void copy(char c1[], char c2[])
{
int i=0; // Индекс в выходной строке
int k; // Индекс найденного фрагмента
int n; // Запоминание начала фрагмента
int m; // Счетчик фрагментов
for (m=1; (k=find(c1))!=-1; m++) // Пока есть фрагменты
{
for (n=k; c1[k]!= } ; k++, i++) c2[i]=c1[k];
c2[i++] = c1[k++]; // Переписать фрагмент
if (m/10!=0) c1[n++] = m/10 + 0 ; // На его место две цифры
c1[n++] = m%10 + 0 ; // номера во внешней форме
for (;c1[k]!=0; k++, n++) c1[n]=c1[k];
c1[n]=0; // сдвинуть " хвост" к началу
}
for (k=0; c1[k]!=0; k++, i++) c2[i]=c1[k];
c2[i]=0; // перенести остаток входной строки
}
Практический совет избегать сложные вычисления над индексами. Лучше всего для каждого фрагмента строки заводить свой индекс и перемещать их независимо друг от друга в нужные моменты. Что, например, сделано выше при " уплотнении" строки.
Содержание
Назад
Вперед
Fore
kc
.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий