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

Функции пользователя.Корректировка - C++

Восстановить пароль Регистрация
 
TIR
Сообщений: n/a
27.05.2012, 22:39     Функции пользователя.Корректировка #1
На днях сдавать отчёты,а я уже который день бьюсь над этими задачами...Препод лично МНЕ ничего не хочет объяснять.Говорит,типа ты у нас вундеркинд,вот сам и думай..а я уже весь мозг сломал. Попробуйте-ка самолично выучить этот C++...Я ведь вам не робот всё-таки...=(
Задача 1.Определить функцию пользователя (нестандартную функцию) B,которая задана выражением: B=sqrt(|x-fi|)
Почему-то программа не читает х. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define PI 3.141592654
#define fi PI/2
void main(void)
{
float x,q;
float B(float);
clrscr();
printf("vvedite x=");
scanf("%f",x);
q=B(x);
printf("\nq=%f",q);
}
float B(float x)
{
float W;
W=pow(fabs(x - fi), 2);
return (W);
}
Задача 2.Определить какой из векторов A или B имеет большую длину d. Длина вектора определяется выражением: sqrt(Ʃ (Xi) ^2) от i=1 до n, где Xi – i-ая компонента вектора. Вычисление длины вектора оформить в виде функции (подпрограммы) пользователя. Дано, что A = (5, 7, 2, -1, 8, 9) и B = (3, 7, 2, -1, -8, 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
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main(void)
{
float dA,dB,x;
int i;
int A[6]={5, 7, 2, -1, 8, 9};
int B[6]={3, 7, 2, -1, -8, 4};
clrscr ();
dA=0;
for (i=1; i<6;i++)
{
dA=sqrt(pow(x[i],2));
dA+=dA;
}
dB=0;
for (i=1; i<6;i++)
{
dB=sqrt(pow(x[i],2));
dB+=dB;
}
if (dA>dB)
printf("\ndA=%f",dA);
else
printf("\ndB=%f",dB);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2012, 22:39     Функции пользователя.Корректировка
Посмотрите здесь:

Функции пользователя C++
Функции пользователя C++
C++ Функции пользователя
Функции пользователя C++
функции пользователя C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.05.2012, 23:21     Функции пользователя.Корректировка #2
Цитата Сообщение от TIR Посмотреть сообщение
Почему-то программа не читает х. Вот код:
Цитата Сообщение от TIR Посмотреть сообщение
C++
1
scanf("%f",x);
заменить на:
C++
1
scanf("%f",&x);
Martovskij
98 / 38 / 7
Регистрация: 30.01.2011
Сообщений: 129
Завершенные тесты: 4
27.05.2012, 23:46     Функции пользователя.Корректировка #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
// сс.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "conio.h"
#include <math.h>
 
double sqr(double *value)
{
    double temp = *value;
    return temp*temp;
}
 
double calc_vect_length(double *table)
{
    double temp;
    temp = sqrt(sqr(table) + sqr(table+1) +sqr(table+2)+ sqr(table+3)+sqr(table+4)+sqr(table+5));
    return temp;
 
}
 
int _tmain(int argc, _TCHAR* argv[])
{  
    double a_vector[6] = {5, 7, 2, -1, 8, 9};
    double b_vector[6] = {3, 7, 2, -1, -8, 4};
    double result;
    result = calc_vect_length(a_vector);
    printf("%f\n",result);
    result = calc_vect_length(b_vector);
    printf("%f\n",result);
 
    if( calc_vect_length(a_vector) > calc_vect_length(b_vector)) printf ("a vector is largeer then b\n");
    else printf ("b vector is largeer then a\n"); 
    
 
    getch();
    return 0;
}
Если непонятен код - спрашивай
TIR
Сообщений: n/a
28.05.2012, 12:11     Функции пользователя.Корректировка #4
Цитата Сообщение от Martovskij Посмотреть сообщение
Если непонятен код - спрашивай
Вы мне на Visual C++ написали,верно? Просто я его плохо понимаю,не изучали такого. Вообще не пойму какому нас учат. Вроде как Borland C++. В общем работаем мы на компилляторе "Turbo C++" v1.0 (http://turbocpp.narod.ru/dwnload.htm)
Если нетрудно,можете переписать? Если нет,то так уж и быть-буду разбираться=)
Martovskij
98 / 38 / 7
Регистрация: 30.01.2011
Сообщений: 129
Завершенные тесты: 4
28.05.2012, 12:45     Функции пользователя.Корректировка #5
Здесь я тебе его написал на чистом С без спец примочек, поэтому такой код должен схавать ЛЮБОЙ компилятор, за исключение того , что #include "stdafx.h" для стандартной библиотеки си
должен заменится на #include "stdio.h"
C++
1
2
3
#include "stdafx.h" // для визуал си
#include "conio.h"
#include <math.h>
C++
1
2
3
#include "stdio.h" // Для борланда, если не скомпилится - попробуй вот так <stdio.h>
#include "conio.h"
#include <math.h>
Вообще, на самом деле не парься какой компилятор и в чем учат, тебя учат в первую очередь языку, а не работе с компилятором. Поэтому надо заострять внимание на коде, а не на среде разработки.
Повторю еще раз, компиляторо-зависимых тут всего 2 строки:
для вижуал цэпэпэ
C++
1
#include "stdafx.h"
для борланд и прочего
C++
1
#include "stdio.h"
для вижуал цэпэпэ
C++
1
int _tmain(int argc, _TCHAR* argv[])
для твоего борланда
C++
1
int main()
суть в том, что это одно и тоже, просто visual c++ studio хитровыебан и предоставляет широкие возможности разработчику.
ПыСы: turbo c++ - прадед билдера

Добавлено через 22 минуты
Есть вопросы - спрашивай.
Yandex
Объявления
28.05.2012, 12:45     Функции пользователя.Корректировка
Ответ Создать тему
Опции темы

Текущее время: 15:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru