1. Сбор средств "Вместе двинем codeby". Деньги будут потрачены на рекламу, PR проекта и покупку сайтов нашей тематики. Подробнее ...

    Скрыть объявление

Работа со строкой

Тема в разделе "Общие вопросы по С и С++", создана пользователем ALR, 29 мар 2009.

Наш партнер Genesis Hackspace
  1. ALR

    ALR Гость

    (с++ builder)
    Задание: В консольном режиме написать программу удаления лишнего пробела

    Моё решение
    Код (Text):
    #include <vcl.h>
    #pragma hdrstop
    #include <stdio.h>
    #include <conio.h>
    #include <string>
    #pragma argsused

    int main()
    {
    int i;
    String s[15];
    printf("Vvedite stroky \n");
    scanf("%s",&s);
    for (i=0;i<=15;i++) {
    if ((s[i]==" ")&&(s[i+1]==" ")){
    s->Delete(i+1,1);
    }

    }
    printf("Stroka posle preobrazovaniia: %s",s);
    getch();
    }
    Компилируется. Поле ввода строки ошибка
    ошибка на строке
    Код (Text):
    if ((s[i]==" ")&&(s[i+1]==" ")){
    В чем может быть ошибка? Или я не правильно работаю со строкой?
    PS если не там создал тему перенесите пожалуйста

    Да и после записи for (i=0;i<=(s->Length())-1;i++) {

    такая же ошибка, с другими адресами на файл dstring.h
    строку return (Data)? GetRec().length : 0;
     
  2. skysun

    skysun Гость

    Если String - класс а не псевдоним char

    Смотри что ты здесь объявил - String s[15]; - это массив из 15 объектов класса String, а не строка из 15 символов.

    здесь scanf("%s",&s); ты передал ссылку на указатель на начала массива.

    s->Delete(i+1,1); удаляешь символ из не существующей строки.
     
Загрузка...

Поделиться этой страницей