2014-11-30 3 views
0

Я работаю над частью программы C.Прочитайте массив с конца

У меня есть цикл, для которого я повторяю определенное значение с течением времени. Например, значение варьируется от 0,1 до 1, а временные диапазоны - от 0 до 2. Я повторяю со временем для значения = 0,1 и т. Д. Для остальных значений. Я храню выход в виде массива, например:

value = 0.1 
time parameter1 parameter2 

Итак, мой код дает мне два массива известного размера (2/stepping_in_time + 1). Числа для параметра1 колеблются между отрицательными и положительными значениями до момента, когда он постоянно падает ниже 0,2. То, что я хочу, это тот момент.

Чтобы получить это, мне нужно прочитать результат массива с конца массива, то есть я хочу пройти через массив от конца, пока не дойду до номера 0.1 в первый раз, я хочу напечатать этот экземпляр времени.

Буду признателен за любые комментарии о том, как это можно сделать.

+0

Пожалуйста показать "часть программы C" (код), который уже работает. –

+0

Извините, что не поставил код, потому что это задание курса, которое я принимаю, и я боялся, что напишу код, эксперты C напрямую дадут мне решение, но я хочу сам работать над этим, мне просто нужно некоторые намеки на то, как решить эту проблему. – Lucia

+1

Немного сложно рассказать вам, что вы делаете неправильно, когда вы не связываете нас с тем, что делаете. –

ответ

0

«Для того, чтобы получить, что мне нужно прочитать результат массива от конца массива, то есть я хочу, чтобы пройти через массив с конца, пока я не достигну»

Так как вы заполнили массив, yoyu знает его размер. Вам просто нужен указатель на последний элемент массива и уменьшите его до тех пор, пока не найдете нужное значение.

что-то вроде (псевдо C ..):

float *lastElem; 
float myArray[255]; 

lastEslem = myArray[254]; 
while(lastElem-- != 0.1) 
{ 
    //Do something or not 
} 
//lastElem is now on the searched value. 
return lastElem; 
0

петля над массивом и отметьте вниз (temp var), где вы сначала видите .1. Если вы встретите значение> .1, очистите место. В конце, temp var будет содержать местоположение первого .1 конечной последовательности значений < = .1 или будет пустым, если его не было.