Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Вырезать часть строки


Автор: systemIV 13.11.2011, 00:45
Есть задание:
Цитата

Дана строка S. Удалить из нее среднюю часть. Округление проводить в меньшую
сторону. Выполнить двумя способами:
- с использованием функций библиотеки string.h
- работая со строками как с массивами.


Вот что я написал. Тут море ошибок, и его нужно было выполнить именно на Си, не на Си++.
Посмотрите саму логику. Спасибо)
Код

<#include stdion.h>

int questStatus(){
    printf("Array(1) or Function(2):%i", status);
    return status;
}

char questString(){
     printf("Input string: %c", string);
     return string;
}

int questInterval(){
    printf("Input interval start: %d", interval[start]);
    printf("Input interval end: %d", interval[end]);
    return interval;
}

int main(){
    int segment = questInterval();
    char string = questString();
    int status = questStatus();
    if(status == 1){
         if(segment[start] < 0 || segment[end] > strlen(string)){
               for(int i = segment[start]; segment[start] <= segment[end]){
                     result .= string[i];
               }
               print result;
         }else{
               print("Error interval");
         }
    }if else(status == 2){
        strncpy(result, string + segment[start], segment[end] - segment[start] + 1);
        result[segment[end] - segment[start] + 1] = "\0";
        print result;
        
    }else{
          print('Error number');
    }
}


Автор: fish9370 13.11.2011, 10:09
логики не обнаружено..  smile 

ты это сам писал?

Автор: borisbn 13.11.2011, 10:31
Цитата(fish9370 @  13.11.2011,  10:09 Найти цитируемый пост)
логики не обнаружено..

честно говоря, в задании тоже
Цитата(systemIV @  13.11.2011,  00:45 Найти цитируемый пост)
Удалить из нее среднюю часть. Округление проводить в меньшуюсторону.

я чего-то не знаю ? Какое округление при работе со строками ?

Добавлено через 3 минуты и 45 секунд
Предлагаю всем форумчанам тест - найти в программе ТС строки без ошибки smile

Автор: bsa 13.11.2011, 10:43
Цитата(systemIV @  13.11.2011,  01:45 Найти цитируемый пост)
<#include stdion.h>
Открывающая угловая скобка не там
Цитата(systemIV @  13.11.2011,  01:45 Найти цитируемый пост)
printf("Array(1) or Function(2):%i", status);
printf выводит текст, а не вводит. Да и где объявлена переменная status?
Цитата(systemIV @  13.11.2011,  01:45 Найти цитируемый пост)
printf("Input string: %c", string);
Аналогично. Название переменной string вводит в заблуждение. спецификатор %c (символ) и возвращаемое значение не соответствуют понятию "строка".
Цитата(systemIV @  13.11.2011,  01:45 Найти цитируемый пост)
int questInterval(){
    printf("Input interval start: %d", interval[start]);
    printf("Input interval end: %d", interval[end]);
    return interval;
}
Где объявлены используемые тут переменные?
Цитата(systemIV @  13.11.2011,  01:45 Найти цитируемый пост)
result .= string[i];
Это какой-то новый синтаксис?

Добавлено через 2 минуты и 32 секунды
Цитата(systemIV @  13.11.2011,  01:45 Найти цитируемый пост)
print('Error number');
Ты забыл букву f и кавычки не те написал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)