Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
parfesha
0 / 0 / 0
Регистрация: 10.10.2008
Сообщений: 18
#1

Реализовать функции для вставки и удаления строк - C++

21.12.2008, 19:21. Просмотров 1374. Ответов 2
Метки нет (Все метки)

задание звучит так:
Реализовать функции для вставки и удаления строк аналогичные процедурам Insert и Delete в Турбо-Паскале
я сделала ее так:
Код
#include <vcl.h>
#include <iostream.h>
#pragma hdrstop
#include<conio.h>
#include<stdio.h>
#include <string.h>
//---------------------------------------------------------------------------

#pragma argsused
 char udalenie(char l[20],int m,int k)
   { int i,j,b,t,y,d;
     int q=strlen(l);
     q=q-m;
    for (i=k-1 ; i<q; i++)
      {l[i]=l[i+m];
       }
    l[q]='\0';
    for(i=0;i<q;i++)
      cout <<l[i];
    return 0;
   };
 char  vstavka(char s[10],char p[10],char l[20],int k)
    {int i,j,b,t,y,d,m,q;
     t=strlen(s);
     y=strlen(p);
     q=t+y;
     i=0;
     j=0;
     while (i<=q)
     {if (i<k) {l[i]=s[i];b=i;}
       else
         if ((k<=i) && (j<y)) {l[i-1]=p[j];j=j+1;}
          else
             {l[i-1]=s[b-1];b=b+1;};
     i++;
    };
    l[q]='\0';
    for(i=0;i<=q;i++)
      cout<<l[i];
    cout <<" "<<endl;
    return 0;
    };
 int main()
 {char s[10],p[10],l[20];
  int i,j,k,b,t,y,q,d,m;
  cout<<"vvedite strocy : ";
  cin>>s;
  cout<<"vvedite strocy vstavki: ";
  cin>>p;
  cout <<"Vvedite poziciu vstavki: ";
  cin>>k;
  vstavka(s,p,l,k);
  cout<<"vvedite col-vo udaliemih elementov: ";
  cin >>m;
  cout<<"vvedite posichiy udalenia: ";
  cin>>k;
  udalenie(l,m,k);
  getch();
  
 return 0;
}
но мне сказали ее переделать, сделать динамически....помогите
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2008, 19:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализовать функции для вставки и удаления строк (C++):

1. Реализовать функции для вставки и удаления строк аналогичные процедурам Insert и Delete в Турбо-Паскале. - C++
Реализовать функции для вставки и удаления строк аналогичные процедурам Insert и Delete в Турбо-Паскале. Помогите,пожалуйста,завтра нужно...

Реализовать очередь с операциями вставки и удаления элементов - C++
Реализовать очередь с операциями вставки и удаления элементов (вставка в начало очереди, удаление с конца очереди) Помогите плииз..

Реализовать пользовательский класс "Список" и функции-члены для создания, просмотра и удаления списка - C++
Добрый день. Имеются несколько функций для работы с однонаправленным списком. Не получается корректно вызвать эти функции. Может у кого...

Выбор структуры данных для вставки, удаления и поиска минимума за log(n) - C++
Добрый день!Подскажите какую нибудь структуру, чтобы были операции: вставка,удаление,и поиск минимума за log(n). Если найдутся исходники...

Скорость вставки и удаления в Std::list - C++
в википедии написано: я никак не пойму как в двусвязном списке может быть быстрая вставка и удаление, ведь чтобы найти нужный элемент...

Односвязные списки. Реализовать функцию для удаления строчки из структуры по заданному номеру - C++
Всем привет, не знаю создавалась ли подобная тема (нашел кое что похожее но не помогло) Столкнулся с проблемой, никак не могу сделать...

2
parfesha
0 / 0 / 0
Регистрация: 10.10.2008
Сообщений: 18
08.01.2009, 21:46  [ТС] #2
И что никто не знает как мне помочь, или никто не хочет???

Добавлено через 14 минут 57 секунд
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
08.01.2009, 23:46 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define asize(a)  (sizeof (a) / sizeof (a)[0])   /* вычисляет длину массива */
#define MAXLINE  1000   /* максимальная длина строки */
 
/* показывает функции для вставки и удаления строк */
main()
{
    char *lineinsert(char *, unsigned, const char *, unsigned);
    void linedelete(char *, unsigned, unsigned);
    char line[MAXLINE] = "one two three";
    
    printf("%s\n", line);
    linedelete(line, 4, 3);
    if (lineinsert(line, asize(line), "four", 4) != NULL)
        printf("%s\n", line);
    return 0;
}
 
/* lineinsert:  вставляет в строку sb длиной не более maxlen
                строку si с позиции origin */
char *lineinsert(char *sb, unsigned maxlen, const char *si, unsigned origin)
{
    char *p;
    unsigned lensb = strlen(sb), lensi = strlen(si);
    
    if (maxlen < lensb+lensi+1
     || (p = (char *) malloc(maxlen*sizeof(char))) == NULL)
        return NULL;
    sprintf(p, "%.*s%s%s", origin, sb, si, sb+origin);
    sprintf(sb, "%s", p);
    free((void *) p);
    return sb;
}
 
/* linedelete:  удаляет из строки s, с позиции origin, n символов */
void linedelete(char *s, unsigned origin, unsigned n)
{
    char *p;
    unsigned len = strlen(s);
    
    if (len < origin+n)
        return;    
    for (p = s+origin; (*p = *(p+n)) != '\0'; p++)
        ;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2009, 23:46
Привет! Вот еще темы с ответами:

Эффективные алгоритмы вставки и удаления элемента из массива - C++
Необходимы два эти алгоритма. + Всем в карму

Создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка С, но не применять их в своей функции - C++
Доброго времени суток! Крайне необходима помощь экспертов в С++! Кто может - не оставьте меня в беде))) Вот задания: 3. Создать...

Задача сформировать массив строк и реализовать функции определения количества слов - C++
Здравствуйте, помогите сделать задачи: 1. Сформировать массив строк. Удалить из него строки, начинающиеся на букву &quot;а&quot;. 2....

Реализовать приложение, содержащее функции добавления нового элемента в массив и удаления элемента из массива. (Имитируется “резиновый” массив) - C++
Реализовать приложение, содержащее функции добавления нового элемента в массив и удаления элемента из массива. (Имитируется “резиновый”...


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

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

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