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

Заменить в одномерном числовом массиве отрицательные элементы их квадратами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевести дату http://www.cyberforum.ru/cpp-beginners/thread720365.html
Перевести дату из символьного формата во внутреннее представление.
C++ Классы, перевести строку с из char * в строку и обратно... Помогите решить... Определить два класса, строку с преобразование из char * в строку и обратно и Целое Int с преобразованием из int и обратно, а также взаимное преобразование String и Int. http://www.cyberforum.ru/cpp-beginners/thread720361.html
Найти количество введенных чисел, когда их сумма превысила 100 C++
2.с клавиатуры вводится числа и последовательно суммируются. Найти количество введенных чисел, когда их сумма превысила 100. Если можно на turbo c++ 3.0
C++ Вычисление суммы двух дробей в C++
Разработать функцию, вычисляющую сумму двух обыкновенных дробей. Написать программу, которая находит сумму n заданных обыкновенных дробей.
C++ Про пузырьковую сортировку http://www.cyberforum.ru/cpp-beginners/thread720355.html
Вопрос: 1). если у нас дан массив 51428, то сколько проходов i совершено? (по моим подсчётам 4, т.к. массив из 5-ти чисел) void bubbleSort(int* arr, int size) { int tmp, i, j; for(i = 0; i < size - 1; ++i) // i - номер прохода { for(j = 0; j < size - 1; ++j) // внутренний цикл прохода
C++ Дано натуральное n. Вычислить n ∏(2+1/i!) i=1 подробнее

Показать сообщение отдельно
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
05.12.2012, 16:58     Заменить в одномерном числовом массиве отрицательные элементы их квадратами
C++
1
2
3
4
if (k<0) {
 
 k=k*k;
 }
Замени на
C++
1
2
3
4
if (array[k]<0) {
 
 array[k]=array[k]*array[k];
 }
Добавлено через 10 минут
Ну а вообще так:
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
26
27
28
29
30
31
32
33
34
35
36
/*
заменить в одномерном числовом массиве отрицательные элементы их квадратами.
*/
 
#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <ctime>
 
int getRand() { return rand() % 20  + 1 - 10; } // от -10 до 10
int getSqrIfLessThanZero(int X)
{
    return ((X < 0) ? X*X : X);
}
 
int main()
{
    setlocale(0, "rus");
    srand(time(0));
 
    const int N = 20;
    int A[N];
    std::generate(A, A + N, getRand);
 
    std::cout << "Исходный массив: ";
    std::copy(A, A + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    std::transform(A, A + N, A, getSqrIfLessThanZero);
 
    std::cout << "Преобразованный массив: ";
    std::copy(A, A + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    system("pause");
}
 
Текущее время: 20:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru