С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
dasha2702
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
1

заменяются нулями все элементы до первого отрицательного, который заменяется единицей

09.04.2011, 18:57. Просмотров 955. Ответов 3
Метки нет (Все метки)

найти массив E, получаемый из массива C по правилу: заменяются нулями все элементы до первого отрицательного, который заменяется единицей. Все последующие элементы заменяются их абсолютными величинами.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2011, 18:57
Ответы с готовыми решениями:

Распечатать все элементы массива до первого встретившегося отрицательного элемента
Ввести с клавиатуры массив из N вещественных чисел. Распечатать: a. все...

В каждой строке матрицы заменить на 0 все элементы до первого отрицательного элемента
Доброго времени суток! Помогите, пожалуйста, с задачей: Среда CodeGear RAD...

Заменить нулями те элементы первого массива, которые есть во втором
Даны два массива действительных чисел по 12 элементов в каждом. Заменить нулями...

Найти индекс первого отрицательного элемента и заменить на него элементы массива по условию
Программа должна осуществить ввод массива из 50 вещественных элементов (либо по...

Поменять местами первый и последний элементы. Все единичные элементы массива заменить нулями
Люди добрые, помогите плиз с задачками. В массиве Р, размерности 150 150....

3
skaa
Хочу в Исландию
1035 / 834 / 119
Регистрация: 10.11.2010
Сообщений: 1,629
09.04.2011, 20:01 2
Например так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#define QA  10
void    main()
{
    int C[QA]={1,2,8,-3,0,-4,8,-2,5,-6};
    int N[QA];
    int ja;
    int bb;
 
    bb=-1;
    for(ja=0;ja<QA;ja++)
    {
        if(bb<0)
        {
            if(C[ja]>=0)
                N[ja]=0;
            else
            {
                N[ja]=1;
                bb=1;
            }
        }
        else
            N[ja]=abs(C[ja]);
    }
}
1
dasha2702
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
09.04.2011, 21:31  [ТС] 3
а как ещё можно?(((
0
Ma3a
Эксперт С++
619 / 463 / 57
Регистрация: 28.01.2011
Сообщений: 605
09.04.2011, 21:59 4
Лучший ответ Сообщение было отмечено как решение

Решение

А еще можно вот так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <algorithm>
#include <cmath>
 
int main()
    {
    int C[10] = {0,2,5,7,3,5,7,-1,-5,-7};
    int E[10];
    std::copy(C,C + 10,E);
    int * a = std::find_if(E,E+10,std::bind2nd(std::less<int>(),0));
    std::fill(E,a,0);
    *a = 1;
    std::transform<int*,int*,int(*)(int)>(a + 1,E+10,a + 1,std::abs);
    }
3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2011, 21:59

В одномерном массиве все отрицательные элементы заменить нулями и упорядочить элементы массива по убыванию
В одновимірному масиві всі від’ємні елементи замінити нулями і впорядкувати...

Сжать массив, удалив из него все элементы модуль которых не превышает 1. Заполнить эти элементы нулями
Во время перестановки, когда первый 0 достигает конца массива, выскакивает...

Сжать массив, удалив из него все элементы, которые лежат в интервале [a,b]. Освободившиеся в конце элементы массива заполнить нулями.
У меня такая проблема: Сжать массив, удалив из него все элементы, которые...


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

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

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