Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.65
ashta
9 / 9 / 1
Регистрация: 28.08.2012
Сообщений: 65
#1

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

29.12.2012, 16:25. Просмотров 3654. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 16:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дан массив целых чисел из 10 элементов.Все элементы кратные 10 заменить 0;Все нечетные элементы удвоить, а четные уменьшить на 2; (C++):

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

Заменить все четные элементы массива на их квадраты, а нечетные удвоить - C++
Так и не пойму эти массивы, помогите с задачами, пожалуйста!!! 1. Удалить из массива М (26) первый положительный элемент. ...

Все четные элементы заменить на их квадраты, а нечетные удвоить (переделать с указателями) - C++
Необходимо переделать код, что бы в нем использовались указатели Дан массив целых чисел, все четные эл-ты заменить на их квадраты, а...

Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные - C++
Помогите, пожалуйста. &gt;&gt;&quot;Дан одномерный массив А, состоящий из N элементов. Сколько значений элементов встречается в массиве по 3...

Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные - C++
Помогите, пожалуйста. &gt;&gt;&quot;Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец...

Ввести двумерный массив целых чисел размерностью 2 на 4. Заменить все четные элементы на 0 - C++
Ввести двумерный массив целых чисел размерностью 2 на 4. Заменить все четные элементы числом 0. Буду благодарен за помощь и поддержку.

8
Izaron
7 / 6 / 1
Регистрация: 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
ashta
9 / 9 / 1
Регистрация: 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;  
Schizorb
510 / 462 / 16
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
29.12.2012, 16:43 #4
Цитата Сообщение от ashta Посмотреть сообщение
Теперь выводит -2 вместо 30 и 40.
Сначала они стали равны 0, а потом вы сами вычли из них -2, как из всех четных чисел)
1
Izaron
7 / 6 / 1
Регистрация: 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
ashta
9 / 9 / 1
Регистрация: 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
Izaron
7 / 6 / 1
Регистрация: 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
Schizorb
510 / 462 / 16
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 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
ashta
9 / 9 / 1
Регистрация: 28.08.2012
Сообщений: 65
29.12.2012, 16:55  [ТС] #9
Всем большое спасибо!!! Все работает на ура!!!!!

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

Точно, спасибо, что заметили. Удвоить это же умножить на 2, а не на самого себя.
1
29.12.2012, 16:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2012, 16:55
Привет! Вот еще темы с ответами:

Дан массив целых чисел. Вывести все четные элементы массива, стоящие на нечетных местах - C++
Не могу понять как это сделать :(

Дано двумерный массив целых чисел. Все нечетные элементы заданного массива заменить суммой номеров их строки и столбца - C++
решил задачу думаю правильно все сделал. Если есть гдето ошибка скажитьте)))) #include&lt;iostream&gt; #include &lt;conio.h&gt; #include...

Векторы. Дана последовательность целых чисел. Заменить все четные элементы на Х - C++
Дана последовательность целых чисел. Заменить все четные элементы на Х. Помогите пожалуйста, сам изучаю язык что бы перевестись в другую...

Дан массив.Все положительные элементы уменьшить на количество отрицательных элементов. Осуществить сдвиг вправо - C++
Помогите доделать задачу на С++ 1.Дан массив A. Все положительные элементы уменьшить на количество отрицательных элементов. Осуществить...


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

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

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