Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/30: Рейтинг темы: голосов - 30, средняя оценка - 4.50
9 / 9 / 4
Регистрация: 28.08.2012
Сообщений: 65
1

Дан массив целых чисел из 10 элементов.Все элементы кратные 10 заменить 0;Все нечетные элементы удвоить, а четные уменьшить на 2;

29.12.2012, 16:25. Просмотров 5656. Ответов 8
Метки нет (Все метки)

Дан массив целых чисел из 50 элементов.
Все элементы кратные 10 заменить 0;
Все нечетные элементы удвоить, а четные уменьшить на 2;

Как правильно заменить кратные 10 на 0? Заранее спасибо.

Вот мое решение:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const int size=10;
int ar[size]={22,56,96,40,13,65,78,30,58,45};
 
for (int i=0; i<size;i++)
{
    if (ar[i]%10==0)//Все элементы кратные 10 заменить 0;
        cout<<0;
}
for (int i=0; i<size; i++)
{
    if (ar[i]%2!=0)
        ar[i]*=ar[i];//Все нечетные элементы удвоить
}
for (int i=0; i<size; i++)
{
    if (ar[i]%2==0)
        ar[i]-=2;//четные уменьшить на 2;
 
 
cout<<ar[i]<<",";
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2012, 16:25
Ответы с готовыми решениями:

Массивы: все элементы, кратные 10, заменить 0, все нечетные элементы удвоить, а четные уменьшить в 2 раза
помогите написать программу (массивы) Дан массив целых чисел из 50 элементов. - Все элементы...

Дан массив целых чисел. Все четные элементы заменить на их квадраты, а нечетные удвоить
Дан массив целых чисел. Все четные элементы заменить на их квадраты, а нечетные удвоить. (с исп....

Дан массив из n целых чисел.Удвоить все элементы послед-ти, значения которых четные.
ПОМОГИТЕ пожалуйста решить!Дан массив из n целых чисел.Удвоить все элементы послед-ти, значения...

Дан массив целых чисел. Все элементы, кратные числу 10, заменить нулем
Дан массив целых чисел. Все элементы кратные числу 10 заменить нулем

8
7 / 6 / 2
Регистрация: 29.12.2012
Сообщений: 41
29.12.2012, 16:30 2
Так?

C++
1
2
3
4
for (int i=0; i<size;i++)
{
    if (ar[i]%10==0) ar[i]=0;
}
0
9 / 9 / 4
Регистрация: 28.08.2012
Сообщений: 65
29.12.2012, 16:36  [ТС] 3
Цитата Сообщение от Izaron Посмотреть сообщение
Так?

C++
1
2
3
4
for (int i=0; i<size;i++)
{
    if (ar[i]%10==0) ar[i]=0;
}
Изменила на то, как Вы предложили. Теперь выводит -2 вместо 30 и 40.
0
Миниатюры
Дан массив целых чисел из 10 элементов.Все элементы кратные 10 заменить 0;Все нечетные элементы удвоить, а четные уменьшить на 2;  
511 / 463 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
29.12.2012, 16:43 4
Цитата Сообщение от ashta Посмотреть сообщение
Теперь выводит -2 вместо 30 и 40.
Сначала они стали равны 0, а потом вы сами вычли из них -2, как из всех четных чисел)
1
7 / 6 / 2
Регистрация: 29.12.2012
Сообщений: 41
29.12.2012, 16:45 5
Ваша ошибка в этом:

C++
1
2
3
4
5
6
7
8
for (int i=0; i<size; i++)
{
    if (ar[i]%2==0)
        ar[i]-=2;//четные уменьшить на 2;
 
 
cout<<ar[i]<<",";
}
Там надо проверять, больше ли проверяемый элемент нуля или нет. Так как числа, кратные 10, уже обнулили, а приписать еще одну проверку, забыли, то число уменьшается еще на 2.
0
9 / 9 / 4
Регистрация: 28.08.2012
Сообщений: 65
29.12.2012, 16:46  [ТС] 6
Цитата Сообщение от Schizorb Посмотреть сообщение
Сначала они стали равны 0, а потом вы сами вычли из них -2, как из всех четных чисел)
Я так и поняла, а как все-таки сделать так, чтобы заменялись 0?

Добавлено через 44 секунды
Цитата Сообщение от Izaron Посмотреть сообщение
Ваша ошибка в этом:

C++
1
2
3
4
5
6
7
8
for (int i=0; i<size; i++)
{
    if (ar[i]%2==0)
        ar[i]-=2;//четные уменьшить на 2;
 
 
cout<<ar[i]<<",";
}
Там надо проверять, больше ли проверяемый элемент нуля или нет. Так как числа, кратные 10, уже обнулили, а приписать еще одну проверку, забыли, то число уменьшается еще на 2.
Спасибо!!!
0
7 / 6 / 2
Регистрация: 29.12.2012
Сообщений: 41
29.12.2012, 16:49 7
Чтобы заменялось на 0 без ошибок, пиши в последний цикл это:
C++
1
2
3
4
5
6
7
8
for (int i=0; i<size; i++)
{
    if (ar[i]%2==0) if (ar[i]>0)
        ar[i]-=2;//четные уменьшить на 2;
 
 
cout<<ar[i]<<",";
}
А в первый это:
C++
1
2
3
4
for (int i=0; i<size;i++)
{
    if (ar[i]%10==0) ar[i]=0;
}
0
511 / 463 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
29.12.2012, 16:51 8
Цитата Сообщение от ashta Посмотреть сообщение
а как все-таки сделать так, чтобы заменялись 0?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for(int i = 0; i<size; i++)
{
    if (ar[i] % 10==0)
        ar[i] = 0;
        
    else if(ar[i] % 2 != 0)
        ar[i] *= ar[i];
        
    else
        ar[i] -= 2;  
 
    cout << ar[i]<<",";
        
}
Можно в одном цикле все проверить.

Добавлено через 1 минуту
Еще

C++
1
ar[i]*=ar[i];//Все нечетные элементы удвоить
Так вы не удвоите, а получите квадрат значения)
1
9 / 9 / 4
Регистрация: 28.08.2012
Сообщений: 65
29.12.2012, 16:55  [ТС] 9
Всем большое спасибо!!! Все работает на ура!!!!!

Добавлено через 3 минуты
Так вы не удвоите, а получите квадрат значения)

Точно, спасибо, что заметили. Удвоить это же умножить на 2, а не на самого себя.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2012, 16:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Дан массив целых чисел. Все элементы, кратные числу 10, заменить нулем
Дан массив целых чисел. Все элементы, кратные числу 10, заменить нулем.

Дан массив целых чисел. Все элементы, кратные числу 10 заменить нулём
Задача №1 Дан массив из 20-ти элементов. Сформировать два массива размером 10, включив в первый из...

Все нечетные элементы массива удвоить, а четные - уменьшить вдвое.
11.43.Дан массив целых чисел.Все нечетные элементы удвоить, я четные умень*шить вдвое.

Дан массив вещественных чисел. Все элементы с четными номерами удвоить, с нечетными — уменьшить на 1
Помогите пожалуйста Дан массив вещественных чисел. Все элементы с четными номерами удвоить, с...


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

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

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