0 / 0 / 0
Регистрация: 13.11.2017
Сообщений: 37
1

Дана строка символов:"корень из х" где х-число. Составьте программу, вычисляющую записанное в строке выражение

16.06.2018, 13:30. Показов 1179. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана строка символов:"корень из х" где х-число. Составьте программу, вычисляющую записанное в строке выражение.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2018, 13:30
Ответы с готовыми решениями:

Дана строка из цифр: определить делится ли число записанное в строке на 75?
Дана строка длины 100 символов, содержащая только цифры от 0 до 9. Составьте и исполните программу...

Дана строка из цифр: определить делится ли число записанное в строке на 9?
Дана строка длины 100 символов, содержащая только цифры от 0 до 9. Составьте и исполните программу...

Дана строка из цифр: определить делится ли число записанное в строке на 36?
Дана строка длины 100 символов, содержащая только цифры от 0 до 9. Составьте и исполните программу...

Дана последовательность 1, 1+1/2, …, 1+1/2+1/n. Составьте программу, вычисляющую 1-й член последовательности, превосходящий заданное число a
Дана последовательность 1, 1+1/2, …, 1+1/2+1/n. Составьте программу, вычисляющую 1-й член...

Объяснить программу (готовая). Дана строка символов. Подсчитать общее число вхождений символов
Приветствую всех. Пользователь под ником Croessmah очень сильно помог мне в получении программы (а...

1
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
09.10.2018, 00:54 2
madsitnik, здравствуйте! Вот несколько вариантов, которые я подобрал для вас. Здесь комментарии и немного накопленного опыта. Надеюсь, что вам или кому-то еще будет интересно:

Вариант 1:

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
/*
Дата и время написания программы:
 
08.10.2018
21:23
 
Условие задачи:
 
Дана строка символов: "Корень из х", где х - число. Составить программу, вычисляющую записанное в строке выражение.
 
Алгоритм:
 
1. Определяем две переменные (исходная строка и искомое число).
2. Инициализируем строку константным выражением по условию (строковым литералом).
3. Вычисляем заданное выражение с помощью функций sqrt(), atof(), substr(), find_last_of() и c_str().
4. Выводим найденный результат на экран.
 
Решение:
*/
 
#include <iostream> //Заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++
#include <string> //Заголовочный файл для работы c переменными типа string
#include <cmath> //Заголовочный файл для работы функции sqrt()
#include <cstdlib> //Заголовочный файл для работы функции atof()
 
    using namespace std; //Пространство имен
 
int main() {
    double n; //Объявляем переменную вещественного типа (хранит искомый корень из числа)
    string s = "Square root of 2.56"; //Объявляем и инициализируем строку (строковое выражение)
    n = sqrt(atof(s.substr(s.find_last_of(" ") + 1).c_str())); //Вычисляем заданное строковое выражение
    cout << "Output of the program:\n" << n << "\n"; //Выводим результат на экран
    system("pause"); //Функция задержки экрана консоли
    return 0; //Функция main() возвратила ноль при успешном выполнении программы (то есть, в коде выше ошибок не было)
}
Вариант 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
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
Дата и время написания программы:
 
08.10.2018
22:07
 
Условие задачи:
 
Дана строка символов: "Корень из х", где х - число. Составить программу, вычисляющую записанное в строке выражение.
 
Алгоритм:
 
1. Определяем две переменные (исходная строка и строковое представление искомого числа).
2. Инициализируем строку константным выражением по условию (строковым литералом).
3. Пробегаем циклом по строке справа налево и накапливаем искомое число в новой строке (для этого используем нестандартный прием).
4. Вычисляем найденное выражение (накопленную строку) с помощью функций sqrt() и stod().
5. Выводим найденный результат на экран.
 
Решение:
*/
 
#include <iostream> //Заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++
#include <string> //Заголовочный файл для работы c переменными типа string и функции stod()
#include <cmath> //Заголовочный файл для работы функции sqrt()
#include <cctype> //Заголовочный файл для работы функции isblank()
 
    using namespace std; //Пространство имен
 
int main() {
    string s = "Square root of 2.56"; //Объявляем и инициализируем строку (строковое выражение)
    string res = ""; //Объявляем переменную строкового типа (хранит строковое представление числа) и инициализируем ее пустым значением
    for (int i = s.length() - 1; !isblank(s[i]); i--) { //Пробегаем циклом по строке, пока не встретим пробел (справа налево)
         res = s[i] + res; //Записываем искомые символы в новую переменную (переворачиваем строковое представление числа)
    } 
    cout << "Output of the program:\n" << sqrt(stod(res)) << "\n"; //Выводим результат на экран
    system("pause"); //Функция задержки экрана консоли
    return 0; //Функция main() возвратила ноль при успешном выполнении программы (то есть, в коде выше ошибок не было)
}
Вариант 3:

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
37
38
39
40
41
42
/*
Дата и время написания программы:
 
08.10.2018
22:24
 
Условие задачи:
 
Дана строка символов: "Корень из х", где х - число. Составить программу, вычисляющую записанное в строке выражение.
 
Алгоритм:
 
1. Определяем две переменные (исходная строка и искомое число).
2. Инициализируем строку константным выражением по условию (строковым литералом).
3. Определяем паттерн регулярного выражения (для извлечения из строки строкового представления числа).
4. Определяем переменную типа smatch (хранит строковое представление вычисляемого выражения).
5. Извлекаем из строки число с помощью функции regex_match() и capture group (выражение в круглых скобках).
6. Вычисляем корень из найденного числа-строки (выражение типа smatch) с применением функций sqrt(), stod() и str().
7. Выводим найденный результат на экран.
 
Решение:
*/
 
#include <iostream> //Заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++
#include <string> //Заголовочный файл для работы c переменными типа string и функцией stod()
#include <cmath> //Заголовочный файл для работы функции sqrt()
#include <regex> //Заголовочный файл для работы с регулярным выражением
 
    using namespace std; //Пространство имен
 
int main() {
    double n; //Объявляем переменную вещественного типа (хранит искомый корень из числа)
    string s = "Square root of 2.56"; //Объявляем и инициализируем строку (строковое выражение)
    regex e("[A-Za-z ]+(\\d*\\.?\\d+)"); //Определяем паттерн регулярного выражения и производим захват необходимой группы (capture group)
    smatch m;
    if (regex_match(s, m, e)) {
        n = sqrt(stod(m[1].str())); //Вычисляем корень и найденного числа
    }
    cout << "Output of the program:\n" << n << "\n"; //Выводим результат на экран
    system("pause"); //Функция задержки экрана консоли
    return 0; //Функция main() возвратила ноль при успешном выполнении программы (то есть, в коде выше ошибок не было)
}
Вариант 4:

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
/*
Дата и время написания программы:
 
08.10.2018
23:00
 
Условие задачи:
 
Дана строка символов: "Корень из х", где х - число. Составить программу, вычисляющую записанное в строке выражение.
 
Алгоритм:
 
1. Определяем две переменные (исходная строка и искомое число).
2. Инициализируем строку константным выражением по условию (строковым литералом).
3. Считываем строку с помощью функции sscanf() и записываем результат в переменную типа double.
4. Выводим найденный результат на экран c помощью функции printf().
 
Решение:
*/
 
#include <iostream> //Заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++
#include <string> //Заголовочный файл для работы c переменными типа string
#include <stdio.h> //Заголовочный файл для работы функций sscanf() и printf()
#include <cmath> //Заголовочный файл для работы функции sqrt()
 
    using namespace std; //Пространство имен
 
int main() {
    double n; //Объявляем переменную вещественного типа (хранит искомый корень из числа)
    string s = "Square root of 2.56"; //Объявляем и инициализируем строку (строковое выражение)
    sscanf(s.c_str(), "%*[^0-9] %lf", &n); //Считываем строку с помощью sscanf() и записываем результат в переменную типа double
    printf("Output of the program:\n%.2lf\n", sqrt(n)); //Выводим результат на экран (два знака после запятой)
    system("pause"); //Функция задержки экрана консоли
    return 0; //Функция main() возвратила ноль при успешном выполнении программы (то есть, в коде выше ошибок не было)
}
Вариант 5:

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
37
/*
Дата и время написания программы:
 
08.10.2018
00:35
 
Условие задачи:
 
Дана строка символов: "Корень из х", где х - число. Составить программу, вычисляющую записанное в строке выражение.
 
Алгоритм:
 
1. Инициализируем строку константным выражением по условию (строковым литералом).
2. Объявляем символьный массив (массив типа char).
3. Помещаем искомое число в новую переменную, используя функцию copy_if(), итераторы и лямбда-выражения.
4. Выводим результат на экран, предварительно вычислив значение строкового выражения с помощью функций sqrt() и stod().
 
Решение:
*/
 
#include <iostream> //Заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++
#include <string> //Заголовочный файл для работы c переменными типа string
#include <algorithm> //Заголовочный файл для работы функции copy_if()
#include <cmath> //Заголовочный файл для работы функции sqrt()
#include <cctype> //Заголовочный файл для работы функции isdigit()
 
    using namespace std; //Пространство имен
 
int main() {
    string s = "Square root of 2.56"; //Объявляем и инициализируем строку (строковое выражение)
    char res[255]; //Объявляем символьный массив (туду мы скопируем нужные элементы)
    cout << "Output of the program:\n";
    copy_if(s.begin(), s.end(), res, [&](char ch) { return (isdigit(ch) || ch == '.'); }); //Копируем символы, являющиеся цифрами и точку
    cout << sqrt(stod(res)) << "\n"; //Выводим результат на экран
    system("pause"); //Функция задержки экрана консоли
    return 0; //Функция main() возвратила ноль при успешном выполнении программы (то есть, в коде выше ошибок не было)
}
0
09.10.2018, 00:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2018, 00:54
Помогаю со студенческими работами здесь

Дана строка символов. Сколько раз в ней встречается слог "МИ". 37. Определить самое длинное слово в строке. 38. Дана строка символов. Вывести на
строка символов.36. Дана строка символов. Сколько раз в ней встречается слог &quot;МИ&quot;. 37. Определить...

Дана строка символов S. Посчитать наибольшее число букв «а», идущих подряд в данной строке
Дана строка символов S. Посчитать наибольшее число букв «а», идущие подряд в данной строке.

Дана строка S напишите программу меняющею порядок символов в строке случайным образом
Дана строка S напишите программу меняющею порядок символов в строке случайным образом.

1. Вводится строка текста из N символов, слова разделены одним пробелом. Составьте программу, печатающую первое слово в строке в оьратном порядке.
1. Вводится строка текста из N символов, слова разделены одним пробелом. Составьте программу,...

Дана последовательность 1, 1+1/2, …, 1+1/2+1/n. Составьте программу, вычисляющую 1-й член последовательности, превосходя
Дана последовательность 1, 1+1/2, …, 1+1/2+1/n. Составьте программу, вычисляющую 1-й член...

Дана строка символов. Составьте программу,заменяющую в ней все вхождения буквосочетания "аро" на "ин"
Дана строка символов. Составьте программу,заменяющую в ней все вхождения буквосочетания &quot;аро&quot; на...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru