2014-02-03 3 views
0

У меня есть назначение с несколькими способами манипулирования массивом, но у меня возникают проблемы с одной из частей.C++ Пропуск элементов в одном массиве d

Я читаю около 50 чисел в массив из текстового файла

И для каждого нечетного расположения в массиве (1,3,5, ...), я должен вычесть его из предыдущего места даже (0,2,4, ...) и сохранить результаты в нечетном месте. Затем я распечатываю все значения в массиве.

Вот то, что я до сих пор:

void oddMinusEven(int ary[],int num) 
{ 
    for(int idx = ary[0]; idx<num; ary[idx+2]) 
    { 
     ary[idx] = ary[idx+2]-ary[idx]; 
     cout<<ary[idx]<<endl; 
    } 
} 

Как мне это сделать? Если бы вы могли привести несколько примеров, это было бы здорово.

+0

Что конкретно ваш вопрос? Как читать значения из файла в массив? – BWG

+0

Довольно уверен, что это должно быть 'int idx = 1;' в этом списке инициализаторов. Я бы начал там. Фактически, ни инкремент (который не работает), ни инициализатор выглядят правильно. Возможно, вам придется пересмотреть основы 'for-loop' в тексте. – WhozCraig

ответ

5

Это должно сделать:

void oddMinusEven(int ary[], int num) { 
    for(int i = 1; i < num; i += 2) { 
     ary[i] = ary[i-1] - ary[i]; 
     std::cout << "a[" << i << "] = " << ary[i] << std::endl; 
    } 
} 
Смежные вопросы