используйте
ob_start ();
blockquote>в самой верхней части вашего скрипта и
ob_end_flush ( );
blockquote>внизу вашего скрипта. Этот wil включит буферизацию вывода и ваши заголовки будут созданы после того, как страница будет bufferd.
ОБЩИЕ ПРОБЛЕМЫ:
=============== =====
(скопированный ответ из: source )
1) не должно быть никакого выхода (т.е.
echo..
или HTML-коды) перед командойheader(.......);
.2) удалите любое белое пространство (или новую строку) до
и после
?>
тегов.3) ЗОЛОТОЕ ПРАВИЛО! - проверьте, поддерживает ли этот файл php (а также, если вы
include
другие файлы) UTF8 без кодировки спецификации (а не только UTF-8). Это проблема во многих случаях (потому что кодированный файл UTF8 имеет что-то особенное в начале файла php, которое ваш текстовый редактор не показывает) !!!!!!!!!!!4) После
header(...);
вы должны использоватьexit;
5) всегда используйте ссылку 301 или 302:
header("location: http://example.com", true, 301 ); exit;
6) Включить ошибку составление отчетов. И сообщать об ошибке.
7) Если ни одно из вышеизложенных не помогает, используйте перенаправление JAVSCRIPT (однако, сильно не рекомендуемый метод), может быть последним шансом в пользовательских случаях ...:
echo ""; exit;
Я дам вам несколько советов, которые должны привести вас к решению:
totalSum - partialSum - a[i] = partialSum
, то позиция i является вашим ответом, а a [i] является его значением. Прежде всего, вы хотите сбросить j, k на каждой итерации с помощью этого метода, если я правильно понимаю.
Во-вторых, по какой-то причине второй цикл for увеличивает n вместо i.
В-третьих, вы также объявляете arr2, не инициализируете его и по какой-то причине добавляете значения в arr2 к k.
Вы включаете и медиану. Попробуйте n = 2.
j = arr [2] + arr [3] + arr [4] = 2 + 5 + 0 = 7
k = arr [0] + arr [ 1] = 1 + 4 = 0
предложенные изменения цикла while (для поддержания того же метода):
while (n <= 5) {
j = 0; k = 0;
for (i = n+1; i < 5; i++) {
j+= arr[i];
}
for (i = 0; i < n; i++) {
k+= arr[i]
}
if (k == j) {
cout << "\n" << arr[n];
break; //you should end the for loop here
}
n++;
}