dasdas писал(а):
char st[256];
sprintf (st[i],"%c",s[i]);
error C2664: sprintf: невозможно преобразовать параметр 1 из 'char' в 'char *'
st[i] - это i-й символ в строке st, т.е. тип char. 1-й параметр sprintf должен быть char*.
Цитата:
Я объявил st как указатель (char *st[256]), так как посимвольно, программа собирается, но когда я ввожу 1 любой символ она ломается
Естественно: вы определили массив из 256 указателей char*, ни один из которых ни на что не указывает. Поэтому sprintf пишет в unallocated память.
И такой вопрос: почему вы сжимаете только повторяющуюся букву "c"? Как насчет строки "aaaaabbbbbb", например? Полагаю, что ваш алгоритм должен выдать "a{5}b{6}". В условии вашей задачи "C", скорее всего, обозначает любой символ, а не только строчное латинское "c".