Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
encodeMind
1 / 1 / 0
Регистрация: 05.03.2014
Сообщений: 27
1

Переписать в массив Y элементы массива X c нечетными номерами, исправить ошибки в коде

09.06.2014, 15:54. Просмотров 426. Ответов 3
Метки нет (Все метки)

Здравствуйте. Из целочисленного массива X(N), N≤20, сгенерированного случайным образом, пере-писать в массив Y элементы массива X c нечетными номерами, а в массив Z – элемен-ты массива X, значения которых кратны 5. Код есть, только он выводит каким то образом число большое, скрин ниже, посмотрите что не так, и если можно подправьте.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
void main()
{   int X[20];
for(int i=0; i<20; i++)
{
    X[i]=rand()%19;
    printf("%d ",X[i]);
}
int Y[10];
int Z[10];
for(int i=0; i<10; i++){
if (X[i]%2==0) Y[i]=X[i];
if (X[i]%5==0) Z[i]=X[i];
}
for(int i=0; i<20; i++)
{
    printf ("Z=%d, Y=%d\n ", Z[i],Y[i]);
}
    getch();
}
[]http://data3.floomby.com/files/share/9_6_2014/13/bcgFIYJuh0ycFUEHmmoZHw.png[/]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2014, 15:54
Ответы с готовыми решениями:

Вывести сначала элементы массива с четными номерами, а затем - элементы с нечетными номерами
Дан массив A размера N. Вывести вначале его элементы с четными номерами (в порядке возрастания...

Переписать в массив B элементы массива X c четными номерами
Из целочисленного массива, X сгенерированного случайным образом, переписать в массив B элементы...

Все элементы массива с нечетными номерами заменить на их квадратный корень
Дан массив вещественных чисел. Все элементы с нечетными номерами заменить на их квадратный корень.

Вывести элементы массива с нечетными номерами в порядке убывания номеров
Дан массив A размера N (N — нечетное число). Вывести его элементы с нечетными номерами в порядке...

Отобрать по убыванию элементы массива с нечетными номерами методом обмена
Дан целочисленный массив с элементами от -20 до 20. отобрать по убыванию элементы массива с...

3
kasan
Чорумфанин
338 / 339 / 319
Регистрация: 06.03.2014
Сообщений: 893
09.06.2014, 17:50 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int Y[10];  
int Z[10];  // элементов кратных 5 точно будет не больше 10? а если все 20 будут кратны 5?
for(int i=0; i<10; i++)  //   опять же почему цикл до 10?
{ 
if (X[i]%2==0)   //  если условие не выполняется, то элемент массива с индексом i останется мусором
    Y[i]=X[i];    
if (X[i]%5==0)   // та же беда
    Z[i]=X[i]; 
}
 
for(int i=0; i<20; i++)  // тут печатаются все элементы массива.. мусор - мусор - норм элемент - мусор ... 
{
    printf ("Z=%d, Y=%d\n ", Z[i],Y[i]);
}
0
encodeMind
1 / 1 / 0
Регистрация: 05.03.2014
Сообщений: 27
09.06.2014, 17:59  [ТС] 3
Элементов кратных 5 будет 20, цикл тоже до 20.
Всё работает, только не пойму, откуда у меня получается такое большое число: 858993460?
0
kasan
Чорумфанин
338 / 339 / 319
Регистрация: 06.03.2014
Сообщений: 893
09.06.2014, 18:15 4
Потому что при объявлении массива на 20 элементов - в массиве хранится мусор (непонятные числа, и большие тоже)
В цикле индекс массива меняется, но записть в массив будет только если выполнится if
Если if не выполнился при индексе 0, то в массиве остался мусор (большООе число)
При выводе - печатается весь массив, и мусор и записанные туда значения.
Советую использовать while для записи в массив
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2014, 18:15

Разделить последовательность А(10) на два массива, записать в один из них элементы с четными номерами, а в другой - с нечетными.
массив. Разделить последовательность А(10) на два массива, записать в один из них элементы с...

Переписать в новый целочисленный массив все элементы исходного с порядковыми номерами, кратными трем
Дан целочисленный массив A размера N&lt;=15. Переписать в новый целочисленный массив B все элементы с...

Продублировать в списке все элементы с нечетными номерами
Дано указание Р1 на первый элемент непустого списка. Продублировать в списке все элементы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru