Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
dimas28
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 19
#1

программирование математических вычислений

28.09.2012, 16:40. Просмотров 891. Ответов 17
Метки нет (Все метки)

Для 5 векторов, координаты которых записаны в массиве 5x3, определить номер того, длина которого минимальна, с помощью функции, которая вычисляет модуль вектора как массива 3 чисел. ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2012, 16:40
Ответы с готовыми решениями:

Составление программ математических вычислений
borland C++ for dos 1) Вычислить ((x+y)/(y+1))-((x*y-12)/(6+x)). Тест: x=6;...

Программирование математических выражений в C++
Составить программу для вычисления значения функции F при указанных значениях...

Выбор кафедры в дальнейшей жизни: прикладное программирование VS системное программирование
Сразу извиняюсь что очень не по теме но всё же лучшего форума для этого вопроса...

Вывод математических формул
Здравствуйте, программисты. Возможен ли вывод математических формул? Например:...

Вычисление математических функций
Пожалуйста помогите завтра сдавать.... мне нужно вычислить (arcsin, arcos,...

17
NoMasters
Псевдослучайный
1909 / 1120 / 90
Регистрация: 13.09.2011
Сообщений: 3,178
28.09.2012, 16:46 #2
Цитата Сообщение от dimas28 Посмотреть сообщение
?
В этом невысказанном вопросе вы интересуетесь формулой вычисления модуля вектора?
0
dimas28
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 19
28.09.2012, 17:02  [ТС] #3
нет - всего задания вообще
0
Герц
525 / 342 / 12
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
28.09.2012, 17:21 #4
Ответ: 42.
2
Кот Ангенс
318 / 268 / 128
Регистрация: 24.05.2012
Сообщений: 629
28.09.2012, 17:28 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
inline double vector_length(const double v[3]) {
    return v[0] * v[1] * v[2];
}
 
int main() {
    double v[5][3];
    for (char i = 0; i < 5; i++) {
        for (char j = 0; j < 3; j++)
            cin >> v[i][j];
        cout << vector_length(v[i]);
    }
}
0
dimas28
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 19
28.09.2012, 17:44  [ТС] #6
подскажите, а как проверить результат - в какой последовательности - сколько символов в строку вводить
0
Герц
525 / 342 / 12
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
28.09.2012, 17:54 #7
C++
1
2
3
inline double vector_length(const double v[3]) {
    return v[0] * v[1] * v[2];
}
Вам, батенька, матчасть учить надо :-)
0
severus-x
18 / 18 / 2
Регистрация: 21.09.2012
Сообщений: 78
28.09.2012, 18:01 #8
длина вектора разве не по этой формуле расчитывается?
sqrt(v[i]^2+....v[n]^2)
0
dimas28
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 19
28.09.2012, 18:06  [ТС] #9
и что значит - ответ: 42??? вроде как разные результаты значений там должны быть в итоге
0
NoMasters
Псевдослучайный
1909 / 1120 / 90
Регистрация: 13.09.2011
Сообщений: 3,178
28.09.2012, 18:10 #10
dimas28, это главный ответ. На главный вопрос.
1
Кот Ангенс
318 / 268 / 128
Регистрация: 24.05.2012
Сообщений: 629
29.09.2012, 15:08 #11
Цитата Сообщение от Герц Посмотреть сообщение
Вам, батенька, матчасть учить надо :-)
Действительно, туплю что-то.
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
29.09.2012, 17:10 #12
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
double Modul(double x, double y, double z)  {
    return sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2));
}
 
int main(int argc, char *argv[])  {
    setlocale(LC_ALL, "Russian");
    const int n = 5, m = 3;
    int minIndex = 0;
    double temp;
    double vector[n][m];
    double moduls[n];
    cout << "Vector coords: \n";
    for(int i = 0; i < n; i++)  {
        cout << "x(" << i << ") = ";
        cin >> vector[i][0];
        cout << "y(" << i << ") = ";
        cin >> vector[i][1];
        cout << "z(" << i << ") = ";
        cin >> vector[i][2];
        moduls[i] = Modul(vector[i][0], vector[i][1], vector[i][2]);
        if(i == 0)  {
            temp = moduls[i];
            minIndex = i;
        }
        else  {
            if(temp > moduls[i])  {
                temp = moduls[i];
                minIndex = i;
            }
        }
        cout << "Модуль (" << i << ") вектора: " << moduls[i] << endl;
    }
    cout << "Минимальная длинна вектора: " << minIndex << endl;
    return 0;
}
1
dimas28
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 19
29.09.2012, 18:12  [ТС] #13
в коде сказано про минимальную длину вектора, но при запуске программы этого не видно
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
29.09.2012, 18:14 #14
Цитата Сообщение от dimas28 Посмотреть сообщение
не видно
Что видно то ? если не видно того что сказано ?
0
dimas28
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 19
29.09.2012, 18:26  [ТС] #15
при каждом новом запуске программы(с разными значениями) минимальная длина вектора всегда получается нуль?
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
29.09.2012, 18:51 #16
Цитата Сообщение от m1Rr0r Посмотреть сообщение
cout << "Минимальная длинна вектора: " << minIndex << endl;
заменить на это
C++
1
2
cout << "\nМинимальная длинна вектора: " << moduls[minIndex] << endl;
cout << "Индекс " << minIndex << endl;
0
dimas28
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 19
29.09.2012, 19:13  [ТС] #17
спасибо

вот только не совсем понятно несколько моментов:
1) ...return sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2))

2)...setlocale(LC_ALL, "Russian")

3)что подразумевает переменная temp
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
29.09.2012, 20:05 #18
Цитата Сообщение от dimas28 Посмотреть сообщение
1)...return sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2))
http://www.cyberforum.ru/cgi-bin/latex.cgi?|vector| = sqrt(x^2 + y^2 + z^2)
это собственно модуль вектора
sqrt - функция для вычисления корня
pow(x,y) - для возведения числа "x" в степень "y"
Цитата Сообщение от dimas28 Посмотреть сообщение
2)...setlocale(LC_ALL, "Russian")
Для возможности вывода на русском языке.
Цитата Сообщение от dimas28 Посмотреть сообщение
3)что подразумевает переменная temp
Обычно так называют временные переменные.
В данно случае для того чтобы найти самый мелкий вектор нужно:
1. будем считать первый элемент массива вектором с минимальной длиной
2. запишем его во временную переменную temp
3. перейдем к следующему элементу массива
4. сравним, если текущий элемент массива меньше элемента который записан в temp, поместим в temp новое значение из текущего элемента массива, тем самым из двух проверенных элементов там будет находиться самый маленький
5. переходим к след. элементу в массиве, снова проверяем не является ли он еще меньше того что в temp, если да перезапишем, если нет двигаемся дальше. и т.д.
пройдя весь массив поэлементно, будет найден вектор с самой маленькой длиной.
1
29.09.2012, 20:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2012, 20:05

2 математических выражения с 1 результатом
Здравствуйте! Нужна помощь в задаче. &quot;Напишите программу для расчета по двум...

Парсер математических выражений на С/С++
Добрый вечер, можете написать или помочь написать парсер математических...

Вычисление математических выражений
Всем привет, я пишу этот пост в связи с тем что, мне дали это задание не...


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

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

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