Форум программистов, компьютерный форум CyberForum.ru

Непонятная ошибка - C++

Восстановить пароль Регистрация
 
Predvestnik
 Аватар для Predvestnik
7 / 6 / 2
Регистрация: 09.10.2010
Сообщений: 192
07.02.2011, 20:15     Непонятная ошибка #1
Программа должна заменять в строке все пары АВ на С, пишу в Visual Studio, после ввода строки открывается вкладка output.c и показывает какие-то ошибки, если просто запустить экзешник то после ввода строки викидывает, не пойму в чём дело

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
#include "stdafx.h"
#include <conio.h>
#include <math.h>
#include <string.h>
 
void main()
{
        char st[256];
        int i,k;
        printf("Vvedite stroku simvolov:\n");
        scanf("%s",st);  
        printf("Ishodnaja stroka:\n%s\n",st);
        printf("\nResult\n");
        for(i=0; i<strlen(st)-1; i++)
        {
           if ((*(st+i)=='A')&&(*(st+i+1)=='B')) // если втсречаются подряд AB
             {
            for(k=i; k<=strlen(st);k++)
            {
            *(st+k)=*(st+k+1);//сдвигаем все символы на 1 влево
            }
            *(st+i)='C';                              
             }
    
       }
       printf("%s",st); 
       getch();
 
}
нашёл в чём причина, уже исправил в коде выше
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2011, 20:15     Непонятная ошибка
Посмотрите здесь:

Непонятная ошибка C++
непонятная ошибка( C++
Непонятная ошибка C++
Непонятная ошибка!? C++
непонятная ошибка C++
Непонятная ошибка C++
Непонятная ошибка C++
Непонятная ошибка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.02.2011, 23:24     Непонятная ошибка #2
Легче указатели передвигать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdio>
#include <cstring>
 
int main(int argc,char **argv) {
  char source_string[] = "ABominogue gABbriel crAB";
  char *destination_string = new char[strlen(source_string) + 1];
 
  char *source_symbol = source_string;
  char *destination_symbol = destination_string;
 
  while (*source_symbol != '\0') {
    if (*source_symbol == 'A' && *(source_symbol + 1) == 'B') {
      source_symbol += 2;
      *(destination_symbol++) = 'C';
    } else {
      *(destination_symbol++) = *(source_symbol++);
    }
  }
  *destination_symbol = '\0'; // принудительный ноль в конец строки
 
  printf("'%s' became '%s'\n", source_string, destination_string);
  return 0;
}
Predvestnik
 Аватар для Predvestnik
7 / 6 / 2
Регистрация: 09.10.2010
Сообщений: 192
08.02.2011, 19:50  [ТС]     Непонятная ошибка #3
Спасибо, буду знать как по другому можно, но мне лучше не усложнять себе жизнь на защите лабораторной))
Yandex
Объявления
08.02.2011, 19:50     Непонятная ошибка
Ответ Создать тему
Опции темы

Текущее время: 03:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru