[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!


Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 16 | 1 | 5
Назад Вниз Каталог Обновить

Аноним 08/12/16 Чтв 21:02:56  141791301  
maxresdefault.jpg (37Кб, 1280x720)
Анон, какого хуя не работает код?
Надо чтобы в строке символо были удалены все пробелы в начале и в конце строки, а все группы пробелов больше двух заменены одним пробелом.
Например строка:
___опхуйопхуйопхуй__опхуй__
Должна быть заменена на:
опхуйопхуйопхуй_опхуй

[CODE]
#include <stdio.h>
int main() {

char S[127];
int i = 0;
printf("input string:");
gets(S); //создает массив символов

for(i; S == ' ';++i)
S = S[i+1] //должно удалить все пробелы в начале строки
for(i = 0; S != '\0';++i)
if((S == ' ')&&(S[i+1]== ' ')||(S[i+1]== '\0'))
S = S[i+1];/должно заменить все группы пробелов больше двух одним пробелом и удалить все пробелы в конце/
puts(S);
}[/CODE]
Аноним 08/12/16 Чтв 21:07:45  141791630
Пысы код в оппосте криво скопирован, вот как должно быть

#include <stdio.h>
int main() {

char S[127];
int i = 0;
printf("input string:");
gets(S);

for(i; S == ' ';++i)
S = S[i+1];
for(i = 0; S != '\0';++i)
if((S == ' ')&&(S[i+1]== ' ')||(S[i+1]== '\0'))
S = S[i+1];
puts(S);
}

Алсо если заменить строку

S = S[i+1];

На строку

S = 'x'; // вместо пробелов теперь будут иксы

То всё работает
Аноним 08/12/16 Чтв 21:09:25  141791724
>>141791630
ебучая макаба заменяет "S" на "S"
Аноним 08/12/16 Чтв 21:11:00  141791846
>>141791724
блять
Аноним 08/12/16 Чтв 21:11:30  141791880
>>141791630
PASTEBIN
A
S
T
E
B
I
N

Уебок
Алсо, удачно тебе завалить сессию.
Аноним 08/12/16 Чтв 21:12:44  141791945
>>141791880
Держи, сладкий http://pastebin.com/5eTPg4DV
Аноним 08/12/16 Чтв 21:16:07  141792161
>>141791301 (OP)
Этот код у тебя будет работать максимум с 2-мя пробелами. С энным их количеством (>2) - нет. Неправильный алгоритм
Аноним 08/12/16 Чтв 21:17:50  141792306
>>141792161
Почему неправильный? Какой тогда правильный?
Аноним 08/12/16 Чтв 21:20:09  141792463
>>141792306
Пробегись глазами по коду. Если будет удобнее, возьми листок и ручку. Выпиши рандомную строку для примера и прикинь что конкретно делает твой алгоритм, пройдя его построчно.
Попробую сейчас накидать примерчик
Аноним 08/12/16 Чтв 21:27:15  141792895
бамп
Аноним 08/12/16 Чтв 21:27:52  141792936
>>141791301 (OP)
Как то так удаляются пробелы в начале
int len = strlen(S);
while(S[0] == ' '){
for(int j=0;j < len;j++){
S[j] = S[j+1];
}
len--;
}
Аноним 08/12/16 Чтв 21:32:21  141793241
>>141791301 (OP)
Анон, тебе еще надо?
Аноним 08/12/16 Чтв 21:35:18  141793439
>>141793241
да
Аноним 08/12/16 Чтв 21:39:39  141793721
>>141793439
Держи тогда: http://pastebin.com/xWgPk5FX
Аноним 08/12/16 Чтв 21:41:16  141793830
>>141793721
Спасибо, анон
Аноним 08/12/16 Чтв 21:41:19  141793835
>>141793721
PS: сделай проверку на "last_significant_symbol_index + 1" < N, если надо
Аноним 08/12/16 Чтв 21:45:38  141794114
Неверный язык. Открывающаяся скобка должна быть над закрывающейся, иначе это беспредел и неудобица.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 16 | 1 | 5
Назад Вверх Каталог Обновить

Топ тредов
Избранное