С++ Помощь с заданием, связанное с массивом
#include <cstdio>
#include <clocale>
#include <cmath>
#include <typeinfo>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(0, "rus");
int x[20];
int y[20];
int z[20];
int n;
int j = 0;
int f = 0;
printf("Введите кол-во чисел, которые будут находиться в массиве:");
scanf_s("%d\n", &n);
for (int r = 0; r < n; r++)
{
x[r] = rand();
if (r % 2 == 0)
{
y[f] = x[r];
f++;
}
if (x[r] % 5 == 0)
{
z[j] = x[r];
j++;
}
}
printf("Массив x:\n ");
for ( int v = 0; v < n; v++)
{
printf("%d\n ", x[v]);
}
printf("Массив z:\n ");
for (int v = 0; v < n; v++)
{
printf("%d\n ", z[v]);
}
printf("Массив y\n:");
for (int v = 0; v < n; v++)
{
printf("%d\n ", y[v]);
}
}
Задание: 7. Из целочисленного массива X(N), N≤20, сгенерированного случайным образом, пере-писать в массив Y элементы массива X c нечетными номерами, а в массив Z – элемен-ты массива X, значения которых кратны 5.
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
Ну так вы размеры массивов Y и Z чем измеряли? Переменными f и j - ну так и используйте их, а не переменную n
printf("Массив z:\n ");
for (int v = 0; v < j; v++)
{
printf("%d\n ", z[v]);
}
printf("Массив y\n:");
for (int v = 0; v < f; v++)
{
printf("%d\n ", y[v]);
}
P.S.
кстати за такие переменные в аду отдельный котел заготовлен, а попавший туда еще и вечно разбирает чужой код
P.P.S.
кстати
z[j] = x[r];
j++;
можно заменить на
z[j++] = x[r];