С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
1 / 1 / 0
Регистрация: 02.01.2020
Сообщений: 38
1

Вывести исходный массив, изменив в нём элементы, большие 10, на их квадратный корень

02.01.2020, 15:33. Показов 2773. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан массив a из n вещественных чисел. Требуется вывести исходный массив, изменив в нём элементы, большие 10, на их квадратный корень.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{   int size; cin>>size;
    double a[size]{};
    for(int n=0;n<size;n++){
        cin>>a[n];
        }
    for(int n=0;n<size;n++){
        if(a[n]>10.0)
            {cout<<sqrt(a[n])<< " ";}
        else{cout<<a[n]<<" ";}
    }
 
}
Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{   int size; cin>>size;
    double a[size]{};
    for(int n=0;n<size;n++){
        cin>>a[n];
        if(a[n]>10.0)
            {cout<<sqrt(a[n])<< " ";}
        else{cout<<a[n]<<" ";}
    }
 
}
Вот так заработало, однако непонятно, почему предыдущая программа не работала
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2020, 15:33
Ответы с готовыми решениями:

Изменить элементы массива большие 10 на их квадратный корень
Дан массив a из n вещественных чисел. Требуется вывести исходный массив, изменив в нём элементы,...

Квадратный массив - поменяйте в нем местами элементы главной и побочной диагоналей
Дан квадратный массив. Поменяйте в нем местами элементы главной и побочной диагоналей.

Дан квадратный массив. Поменяйте в нем местами элементы главной и побочной диагоналей.
Дан квадратный массив. Поменяйте в нем местами элементы главной и побочной диагоналей.

Извлечь квадратный корень из чисел в файле. Записать в исходный файл отчет о измененых строках
Дан текстовый файл, состоящий из одной или нескольких строк. Каждая строка файла содержит числа,...

2
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
02.01.2020, 15:56 2
Цитата Сообщение от anakas Посмотреть сообщение
Вот так заработало
У меня не заработало, вы создаёте обычный массив не константным значение
Создавайте динамический
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    int size; cin >> size;
    
    double *a = new double[size];
    for (int n = 0; n < size; n++) {
        cin >> a[n];
    }
    for (int n = 0; n < size; n++) {
        if (a[n] > 10.0)
        {
            cout << sqrt(a[n]) << " ";
        }
        else { cout << a[n] << " "; }
    }
 
    delete[] a;
}
Такая конструкция double a[size] заставляет компилятор определять размер во время компиляции, а как он определит размер во время компиляции если вы его вводите

Добавлено через 1 минуту
Если всё же хотите не динамический

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    const int size = 10; // нельзя тогда вводить
    double a[size]{};
    for (int n = 0; n < size; n++) {
        cin >> a[n];
    }
    for (int n = 0; n < size; n++) {
        if (a[n] > 10.0)
        {
            cout << sqrt(a[n]) << " ";
        }
        else { cout << a[n] << " "; }
    }
 
}
0
Модератор
Эксперт С++
13721 / 10918 / 6478
Регистрация: 18.12.2011
Сообщений: 29,147
02.01.2020, 16:00 3
Цитата Сообщение от anakas Посмотреть сообщение
почему предыдущая программа не работала
Не забывайте, что ввод происходит через буфер.
Пока не нажали enter данные в программу не поступают.
Но если нажали (имею ввиду первый код), то увидите вывод всего, что ввели в одной строке:
16 25 9 <- ввели 3 числа
4 5 9 64<- вывелось 3 числа, и ввели 1 число
8 <- вывелось 1 число
и т.д. пока не введете size чисел
0
02.01.2020, 16:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2020, 16:00
Помогаю со студенческими работами здесь

Выведите массив из N целых чисел. Расположите в нём все элементы в обратном порядке.Выведите исходный и преобразованный массив
.Выведите массив из N целых чисел. Расположите в нём все элементы в обратном порядке. Выведите...

Создать и вывести массив У(8); элементы большие 1 занести в другой массив
Создать и вывести массив У(8), с элементами уk = ln(k) - 3k, где k = 1,2…. Выполнить дополнительно...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru