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

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

Войти
Регистрация
Восстановить пароль
 
Do4ka
1 / 1 / 0
Регистрация: 19.11.2009
Сообщений: 10
#1

Прикладная математическая программа C++ - C++

22.12.2009, 17:48. Просмотров 671. Ответов 3
Метки нет (Все метки)

В заданном вещественном массиве A(n) найти все числа, у которых старшая значащая десятичная цифра есть 9 (числа сильно различаются по величине)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2009, 17:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прикладная математическая программа C++ (C++):

1 курс "Прикладная Информатика" - C++
Вот страничка с задачами, дали в институте, 6.2 делать не нужно. 3 я сделал , всё работает, остальные необходимо выполнить с...

Математическая формулировка - C++
Доброго времени дня всем. У меня возникла проблема. Значит сделал я программу по следующему условию: И теперь стоит вопрос в...

Математическая задача в С++ - C++
мат Задача помогите решить в С++ : s=cos(x) + (cos(x))/2 + ... + (cos(x)*n)/n^2 ; 0.2<=X<=0.8 ; n(max)= 20 ; х идет с шагом 0,1 ,а...

Математическая задачка - C++
В качестве f(x) использовать по выбору: sin(x), х , ех

Математическая ф-ия в Borland C 3.01 - C++
Помогите пожалуйста и объясните как описать математическую ф-ию в борланде: корень из(е в степени х -1) ?

Математическая задача - C++
Сумма 1+\sum_{n=1}^{\propto}\frac{{3}^{n}\prod_{i=1}^{n}(2i-1)}{\prod_{j=1}^{n}2j} Промежуток (-0.5;0.5) Шаг - 0.02 Функция...

3
easybudda
Модератор
Эксперт CЭксперт С++
9680 / 5630 / 954
Регистрация: 25.07.2009
Сообщений: 10,808
22.12.2009, 19:17 #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
39
40
41
42
#include <stdio.h>
#include <stdlib.h>
 
#define BUFLEN 128
    
int startFromNine(double n){
    char buf[BUFLEN] = { 0 };
    snprintf(buf, BUFLEN, "%f", n);
    return ( *buf == '9' );
}
 
int main(void){
    double *arr;
    size_t count, i;
    
    printf("\nNumber of elements: ");
    if ( scanf("%d", &count) != 1 ){
        fprintf(stderr, "Can't get array size!\n");
        exit(1);
    }
    if ( count < 1 ){
        fprintf(stderr, "Array can't hold less than 1 element!\n");
        exit(1);
    }
    if ( ( arr = (double*)calloc(count, sizeof(double)) ) == NULL ){
        fprintf(stderr, "Memory error!\n");
        exit(1);
    }
    
    printf("\nFill array\n");
    for ( i = 0; i < count; ++i ){
        printf("arr[%d] = ", i);
        scanf("%lf", arr + i);
    }
    printf("\nStarting from 9:\n");
    for ( i = 0; i < count; ++i )
        if ( startFromNine(arr[i]) )
            printf("arr[%d] = %f\n", i, arr[i]);
        
    free(arr);
    exit(0);
}
0
Do4ka
1 / 1 / 0
Регистрация: 19.11.2009
Сообщений: 10
22.12.2009, 19:23  [ТС] #3
а не C ли это?)

мне бы на C++ надо, я тут половину понять не могу...
0
easybudda
Модератор
Эксперт CЭксперт С++
9680 / 5630 / 954
Регистрация: 25.07.2009
Сообщений: 10,808
23.12.2009, 15:49 #4
Цитата Сообщение от Do4ka Посмотреть сообщение
а не C ли это?)
Ага, С... Я С++ плохо знаю, вот на С и написал, чтоб идею донести... А на С++ как-нибудь так бы выглядело:
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
43
44
45
46
#include <iostream>
#include <sstream>
#include <string>
#include <iomanip>
    
using namespace std;
 
bool startFromNine(double n){
    ostringstream ost;
    string buf;
    
    ost.precision(12);
    ost << n;
    buf = ost.str();
    return ( buf[0] == '9' );
}
 
int main(){
    double *arr;
    size_t count, i;
    
    cout << "Number of elements: ";
    cin >> count;
    if ( count < 1 ){
        cerr << "Bad value!" << endl;
        return 1;
    }
    arr = new double [ count ];
    for ( i = 0; i < count; ++i ){
        cout << "arr[" << i << "] = ";
        cin >> arr[i];
    }
    
    // весь массив
    cout << "Array:" << endl;
    cout.precision(12);
    for ( i = 0; i < count; ++i )
        cout << "arr[" << i << "] = " << arr[i] << endl;
    cout << endl << "Started from nine:" << endl;
    for ( i = 0; i < count; ++i )
        if ( startFromNine(arr[i]) )
            cout << "arr[" << i << "] = " << arr[i] << endl;
    
    delete [] arr;
    return 0;
}
Добавлено через 15 часов 47 минут
другой вариант функции. main та же
C++
1
2
3
4
5
6
7
8
bool startFromNine(double d){
    int i;
    while ( (int)d > 0 ) {
        i = (int) d % 10;
        d /= 10.0;
    }
    return ( i == 9 );
}
0
23.12.2009, 15:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2009, 15:49
Привет! Вот еще темы с ответами:

Математическая задача - C++
Очень нужна ваша помощь, у меня затруднение при написании одной из функций. Не могу правильно вычислить бесконечную сумму с заданной...

Математическая задача на C++ - C++
И снова я. Пожалуйста помогите переделать программу на нужную. Суть задачи такова: С клавиатуры вводится радиус окружности с...

Математическая статистика - C++
Число отечественных автомобилей превышает число иномарок в 1,6 раз. Отечественная машина ломается в среднем в 2,6 раз чаще иномарки. В...

Математическая константа Е - C++
Привет всем:) У меня трудности с математикой.Нужно вычислить константу Е по формуле &quot; е = 1 + 1/!1 + 1/!2 + 1/!3 и ...... Заранее спасибо:)...


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

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

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