Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Lollipo
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 36
#1

Замена всех элементов массива, кроме крайних на полусумму соседей - C++

03.10.2010, 20:06. Просмотров 1460. Ответов 4
Метки нет (Все метки)

9.Напишите программу, которая вводит с клавиатуры непустой массив целых чисел, заменяет все элементы массива, кроме крайних на полусумму соседей, и печатает результат.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2010, 20:06     Замена всех элементов массива, кроме крайних на полусумму соседей
Посмотрите здесь:
найти среднее арифметическое всех элементов массива, кроме элементов... C++
Найти сумму всех элементов массива, кроме элементов с номерами от K до L C++
Каждый элемент массива, кроме первого, заменить суммой всех его предыдущих элементов C++
Каждый элемент заданного массива заменить на полусумму соседних элементов C++
Найти позиции крайних отрицательных элементов массива C++
Каждый элемент вектора А(п) (кроме двух крайних) заменить выражением C++
Из массива случайных чисел найти позиции крайних отрицательных элементов C++
C++ Найти позиции крайних отрицательных элементов и отсортировать элементы массива
C++ Найти позиции крайних отрицательных элементов массива и отсортировать элементы межды ними
Найти позиции крайних отрицательных элементов массива и отсортировать значения между ними C++
Замена всех элементов массива, значение которых превышает среднее значение, максимальным элементом C++
Найти число элементов массива, которые больше своих “соседей” C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
04.10.2010, 13:41     Замена всех элементов массива, кроме крайних на полусумму соседей #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
int main()
{
    int i, temp = 0;
    cout << "Enter size massiv: ";
    cin >> temp;
    int *mass = new int [temp];
    cout << "zapolnite massiv: \n";
    for(i=0; i<temp; i++)
        cin >> mass[i];
    int a = 1;
    int *mas2 = new int [temp-2];
    for(i = 0; (i<temp-2);i++, a++)
        mas2[i] = (mass[a-1]+mass[a+1])/2;
    for(i = 0; i<(temp-2);i++)
        mass[i+1] = mas2[i];
    cout <<endl;
    for(i = 0; i<temp;i++)
        cout <<mass[i]<< " ";
 
    delete [] mas2;
    delete [] mass;
    _getch();
    return 0;
}
Day
1154 / 959 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
04.10.2010, 13:50     Замена всех элементов массива, кроме крайних на полусумму соседей #3
Можно обойтись без вспомогательного массива mas2
C
1
2
3
4
5
6
7
int x, y;
for(i=1; i<temp-1;i++) {
   x = (mass[i-1]+mass[i+1]) / 2;
   if (i>1) mass[i-1] = y;
   y = x;
}
mass[temp-2] = y;
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
04.10.2010, 13:54     Замена всех элементов массива, кроме крайних на полусумму соседей #4
Цитата Сообщение от Day Посмотреть сообщение
Можно обойтись без вспомогательного массива mas2
Ну допустим вы посчитаете второй элемент так, но как вы после этого посчитаете 3 элемент, если второй у вас будет отличаться от исходного?
Day
1154 / 959 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
04.10.2010, 14:23     Замена всех элементов массива, кроме крайних на полусумму соседей #5
Цитата Сообщение от M128K145 Посмотреть сообщение
Ну допустим вы посчитаете второй элемент так, но как вы после этого посчитаете 3 элемент, если второй у вас будет отличаться от исходного?
Чегой-то не понял.
Я ж не сразу его заменяю, а сохраняю до той поры, когда он уже быдет не нужен.
Как ты думаешь -зачем я ввел x, y?
Ладно, попробуем прокрутить.
Массив 1 2 5 8 16
i = 1, x = 3, y= x = 3
i = 2, x = 5, m[1] = y = 3, y=x=5
i = 3, x = 10(16+5)/2, m[2] = y = 5, y =x = 10
i = 4, break, m[3] = y = 10
Как-будто все получается?
Иль на меня затмение нашло какое ?
Yandex
Объявления
04.10.2010, 14:23     Замена всех элементов массива, кроме крайних на полусумму соседей
Ответ Создать тему
Опции темы

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