Use a common language
Please, use English for identifiers and comments in the code. It makes understanding much easier. (Note: I'm not a native English speaker either.)
This is not C, it's C++
I've noticed in the tags you added "C", but this code cannot be compiled as C, only as a C++ code.
Arrays are not correctly initialised
int p=0,n=0,k=0;
float positivos[p] = {},negativos[n] = {};
These lines create arrays of 0 size. They contain zero elements. Arrays are fixed size, they cannot be resized. So you can never add more elements to them than their initial capacity. So zero sized arrays are practically useless. Later, when you try to do
positivos[p] = valor;
SumaPositivos+=valor;
p++;
you will have a memory violation, trying to write positivos's element that does not exist.
So, to solve this problem, you should initialize your arrays correctly in the beginning. So instead of 0, set the expected (maximum) size you want to allow.
Even better, since you need C++ compiler anyway due to including iostream, you should use std::vector instead of array:
std::vector<float> positiveNumbers;
std::vector<float> negativeNumbers;
// ...
positiveNumbers.push_back(1.23); // Example of how to add a number to the vector
Please, read the documentation of std::vector here.
The vector can be looked at as an array that can dynamically change its size on demand.