Перевод массива чисел в строку - C (СИ)
Формулировка задачи:
Помогите разобраться, почему не получается перевод из массива чисел в строку
уже как только не писала, но строку потом просто не выводит, вернее выводит, но только одну единичку и все
сам массив чисел состоит из циферок 1 и 0
char shfrtx[1000];
for(i=0; i<num; i++) {
//shfrtx[i] = (char)(rrr[i]);
sprintf(shfrtx, "%d",rrr[i]); << вот так делаю
}
боже) какой позор)
я поняла, что в строку записался только последний элемент =)
как правильно нужно записать, чтобы все элементы записались? =)
Решение задачи: «Перевод массива чисел в строку»
textual
Листинг программы
char *word;
word=new char[i+2];
for (int j=i; Num>0; j--)
{
k=fmod(Num,d);
sprintf(&word[j], "%i", k);
Num/=d;
}
Edit3->Text=word;
Объяснение кода листинга программы
В этом коде:
- Создается указатель на строку
wordи выделяется память дляi+2символов. - Происходит цикл, который начинается с
iи продолжается, покаNumбольше нуля. - Внутри цикла происходит следующее:
kвычисляется как остаток от деленияNumнаd.- С помощью функции
sprintfвword[j]записывается строка, представляющая значениеk. Numделится наd.
- После завершения цикла, строка
wordпередается вEdit3->Text. Код, возможно, используется для перевода массива целых чисел в строку.iиdмогут быть определены вне этого фрагмента кода.