Как вставить значение между таблицей[0] и таблицей [1]?
Привет друзья
Я хочу отредактировать свою программу на языке Си для вставки нового значения в первую таблицу , это моя оригинальная программа и комментарий, который я пробовал !
Моя программа будет именно такой :
Moins val = 0
Плюс val = 1
-----------
Moins 0 = val
Плюс 0 = 2
----------
Моины 1 = 2
Плюс 1 = 3
.
.
.
Мужнієкса 255 = 256
Плюс 255 = 257
Это означает новую вставку char val между интервалами 0 и 1
Символ нуля между диапазонами 1 и 2
Символ 1 между диапазонами 2 и 3
Символ между 2 ряд 3 и 4
Что я уже пробовал:
#define plus(c) (c+1) #define moins(c) (c) Int main () { Int arrayCount[256];//number of ascii code Int range[plus(256)];//table of all ascii counted Int c; For (c=0;c<256;c++) { ArrayCount[c]=0; } While (c=fgetc(file))//file is opened with image grey scale { ArrayCount[c]++; } Moy[0]=0; // Moy[1]=tab[257]; For(c=0;c<=257;c++) { Range[plus(c)]=tab[c]; } For(c=1;c<=257;c++) { Range[c]=range[c]+range[c-1];
Rick York
Я думаю, что вы пропустили там часть своего кода.
Здесь есть много проблем. У вас есть массивы размером 256, и вы получаете доступ к элементу 257 в нем. В языке Си индексы этих массивов будут варьироваться от 0 до 255, или на единицу меньше их емкости, так как они начинаются с нуля. Я всегда превращаю такое "волшебное" значение в значение const в C++ или определение C. Вот такой пример :
#define ArraySize 256
int range[ArraySize];
// использование его в цикле :
for( c = 0; c < ArraySize; ++c )
{
диапазон[c] = 0;
}
yagami_md
Ваше решение-это только то, что я сделал для подсчета всех символов в файле, но в таблице headcOunt[]
Моя проблема заключается в том, как я вставляю новый символ(char) перед символом 0 и пытаюсь вставить символ в таблицу range [], а диапазон символа будет находиться между диапазоном[0] и диапазоном[1]
Это означает, что диапазон[плюс(val)]=1
Диапазон [moins(val)]=0
Richard MacCutchan
Это, конечно, странно выглядящий код C: зарезервированные (и другие) слова, начинающиеся с заглавных букв.
yagami_md
Как я могу это сделать??
Richard MacCutchan
Я не уверен, что правильно понял вопрос. Я, конечно, не понимаю код.
Iqra Ali
Чтобы добавить что-то между 0 и 1, вам нужно сделать это что-то а "1" и тогда 1 будет 2. Можете ли вы поделиться тем, что не работает?