С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
G6
2 / 2 / 1
Регистрация: 20.04.2014
Сообщений: 30
#1

Задать значения вещественным элементам массивов и вычислить - C++

20.04.2014, 11:05. Просмотров 947. Ответов 9
Метки нет (Все метки)

Вот задание:

Задать значения вещественным элементам массивов A = {ai} и B = {bi}, где i = 0, 1, 2,...,9 и вычислить элементы массивов X = {xi} и Y = {yi} по формуламсами формулы приводить не буду).

Вот код:

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
#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
#include <math.h>
 
float sinus( float A[]);
float tanges( float B[]);
 
int main()
{
    float A[10],B[10];
    int j;
 
        for (j=0; j<10; j++)
        {
            srand(time(NULL));
            A[j]=rand();
            B[j]=rand();
        }
 
    float sinus(float A[])
    {
        int i;
        for (i=0;i<10;i++)
        {
            int X;
            X=(sin(A[i]))/(sin(A[i]*A[i])-(sin(A[i])*sin(A[i])));
            printf("%d\n",X);
        }
        
    }
 
    float tangens( float B[])
    {
        int i;
        for (i=0;i<10;i++)
        {
            int Y;
            Y=(tan(B[i]))/(tan(B[i]*B[i])-(tan(B[i])*tan(B[i])));
            printf("%d\n",Y);
        }
    
    }
return 0;
Ошибки:
error C2601: 'sinus' : local function definitions are illegal
error C2601: 'tangens' : local function definitions are illegal
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 11:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задать значения вещественным элементам массивов и вычислить (C++):

Задать значения целочисленным элементам массивов и вычислить - C++
СРОЧНО НУЖНА ПОМОЩЬ!!! БУДУ ОЧЕНЬ БЛАГОДАРЕН!!! Задать значения целочисленным элементам массивов М = {m|i = 0, 1,...,7}, L = {l|j =...

Проверьте что работает не правильно (задать значения вещественным элементам матриц) - C++
Вот задание: Задать значения вещественным элементам матриц А = {аij} и Q = {qij}, где i = 0, 1, 2,..., 6; j = 0, 1, 2,...,...

Задать значения скрытым элементам класса - C++
Добрый день. В классе созданы переменные структурного типа. Но они приватные. Я создаю конструктор, который задает значения этим...

По заданным вещественным массивам вычислить значение - C++
по заданным вещественным массивам A,B,C вычислить (minAi)/maxAi+(maxCi)/min(Ci)+max(B+C)i/min(B+C)i

Из двух массивов сформировать один и вычислить некоторые значения - C++
Из двух массивов разной длины сформировать общий массив и вычислить сумму элементов, являющихся полными квадратами и имеющих нечетные...

По введенным с клавиатуры вещественным значениям переменных x, y, z вычислить - C++
Вот 12 вариант

9
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
20.04.2014, 11:19 #2
Вытащи определения функций sinus и tangens из main-а.
0
G6
2 / 2 / 1
Регистрация: 20.04.2014
Сообщений: 30
20.04.2014, 11:44  [ТС] #3
Уже сделал это. Ошибку осознал. Но дело в том, что теперь программа запускается, но ничего не выводит. Вообще ничего.

Добавлено через 22 минуты
Вот мой исправленный код:

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
47
48
49
50
#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <iostream>
 
float sinus( float A[]);
float tanges( float B[]);
 
void main()
{
    int A[10],B[10];
 
    srand(time(NULL));
 
        for ( int j=0; j<10; j++)
        {
            A[j]=rand();
        }
 
        for ( int j=0; j<10; j++)
        {
            B[j]=rand();            
        }
}
 
    float sinus(float A[])
    {
        int i;
        float X;
        for (i=0;i<10;i++)
        {
            X=(sin(A[i]))/(sin(A[i]*A[i])-(sin(A[i])*sin(A[i])));
            printf("%d\n",X);
        }       
        return X;
    }
 
    float tangens( float B[])
    {
        printf("ffff");
        int i;
        float Y;
        for (i=0;i<10;i++)
        {           
            Y=(tan(B[i]))/(tan(B[i]*B[i])-(tan(B[i])*tan(B[i])));
            printf("%d\n",Y);
        }   
        return Y;
    }
Ошибок нет, но и значений никакие не выводтся. Ещё странность заключается в том, что если в самом начале попросить вывести массив А или В, он просто выведет 10 раз одно и тоже число.
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
20.04.2014, 11:52 #4
В функции main нужно вызвать функции sinus и tangens
0
G6
2 / 2 / 1
Регистрация: 20.04.2014
Сообщений: 30
20.04.2014, 11:58  [ТС] #5
Извини, а как это сделать? Не понимаю просто.
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
20.04.2014, 12:09 #6
Как-то так.
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "stdafx.h"
#include <time.h>
#include <math.h>
#include <iostream>
 
 
using namespace std;
 
void sinus(float*, float*);
void tangens(float*, float*);
 
int main()
{
    float A[10], B[10], X[10], Y[10];
 
    srand(time(NULL));
 
    cout << "A:" << endl;
    for (int j = 0; j < 10; j++)
    {
        A[j] = double(rand()) / RAND_MAX + rand() % 10;
        cout << A[j] << endl;
    }
    cout << "B:" << endl;
    for (int j = 0; j < 10; j++)
    {
        B[j] = double(rand()) / RAND_MAX + rand() % 10;
        cout << B[j] << endl;
    }
    sinus(X,A);
    tangens(Y,B);
    cout << "X:" << endl;
    for (int j = 0; j < 10; j++)
    {
        cout << X[j] << endl;
    }
    cout << "Y: " << endl;
    for (int j = 0; j < 10; j++)
    {
        cout << Y[j] << endl;
    }
 
    system("pause");
}
 
void sinus(float *X, float *A)
{
    int i;
    for (i = 0; i<10; i++)
    {
        X[i] = (sin(A[i])) / (sin(A[i] * A[i]) - (sin(A[i])*sin(A[i])));
    }
}
 
void tangens(float *Y, float *B)
{
    int i;
    for (i = 0; i<10; i++)
    {
        Y[i] = (tan(B[i])) / (tan(B[i] * B[i]) - (tan(B[i])*tan(B[i])));
    }
}
1
G6
2 / 2 / 1
Регистрация: 20.04.2014
Сообщений: 30
20.04.2014, 12:32  [ТС] #7
Спасибо. Я пока попробую разобратсья в коде. Но вроде всё понятно кроме этой части:
C++
1
2
3
4
5
6
7
8
9
10
11
12
cout << "X:" << endl;
    for (int j = 0; j < 10; j++)
    {
        cout << X[j] << endl;
    }
    cout << "Y: " << endl;
    for (int j = 0; j < 10; j++)
    {
        cout << Y[j] << endl;
    }
 
    system("pause");
Зачем ты это делаешь и что значит последняя команда?
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
20.04.2014, 12:34 #8
Это вывод получившихся массивов на экран с помощью cout.
Последняя команда нужна, чтобы консоль не закрывалась сразу, то есть чтобы посмотреть результаты.
0
G6
2 / 2 / 1
Регистрация: 20.04.2014
Сообщений: 30
20.04.2014, 13:01  [ТС] #9
Спасибо. Теперь понял. Только ещё один вопрос, ты в вижуал студио это писал?
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
20.04.2014, 14:04 #10
G6, да, в 13 студии.
0
20.04.2014, 14:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 14:04
Привет! Вот еще темы с ответами:

Вычислить и вывести средние квадратические значения положительных элементов заданных массивов - C++
Составить алгоритм и программу по заданному условию. Для выполнения повторяющихся неоднократно, разработать алгоритм и программный код...

Рапределение идндексов по элементам, независимо от значения переменной - C++
вот часть кода программы: void List::read() { ifstream f1(&quot;rezult.txt&quot;); char s; char mas_s; char*f; int i,kol; kol =...

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

Объявите неинициализированный трехмерный массив и присвойте значения элементам с помощью кода - C++
Объявите неинициализированный трехмерный массив и присвойте значения элементам с помощью кода 3 слоя 1-ый слой: 111 111 111 ...


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

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

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