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

Вычисления массива (проверить код) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
27.03.2011, 23:58     Вычисления массива (проверить код) #1
Описать алгоритм вычисления массива значений функции
y^i={a*sin(x i-итоe)/sin(x i-итоe)-b (x i-итоe)<2,3
{btg(x i-итоe) 2.3<=(x i-итоe)<=4.3
{sin(ax i-итоe)-корень из (x i-итоe) sin(x i-итоe)>5.3 где i=1,2,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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <math.h>
const int n=10;
int main()
{
int i;
float x[10];
printf("massiv\n");
for (i=0; i<10; i++)
scanf("%f",&x[i]);
}
int main();
{
    float a,b,x[i],y[i];
 
    printf("Enter a,b,x[i]");
    scanf("%f %f %f", &a, &b, &x[i]);
    if (x<=2.3)
         y = a * sin(x[i])/sin(x[i])-b
    else if (x>=5.3)
    y = sin(a*x[i])-sqrt(x[i]);
    else
        y = b*tg(x[i])
 
    printf("y = %f",y);
}
1>------ Построение начато: проект: Mynameiszhenia1, Конфигурация: Debug Win32 ------
1> Mynameiszhenia1.cpp
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(13): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(16): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)

========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Подскажите, что делать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
28.03.2011, 00:29     Вычисления массива (проверить код) #2
qheff,
два int main() - это круто. Этого еще никто не делал. Вот компилятор и не оценил.
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
28.03.2011, 00:31  [ТС]     Вычисления массива (проверить код) #3
Цитата Сообщение от IrineK Посмотреть сообщение
qheff,
два int main() - это круто. Этого еще никто не делал. Вот компилятор и не оценил.
Я уже понял, что в этом ошибка, однако, как правильно сделать? Я убрал int main(), но стало всё намного хуже.
Ариман
20 / 20 / 1
Регистрация: 18.09.2010
Сообщений: 28
28.03.2011, 00:45     Вычисления массива (проверить код) #4
C++
1
float a,b,x[i],y[i];
нормально обьяви переменые и масивы да и константа для чего тебе если ты её не используешь . И если у тебя int main() то в конце допиши return 0; или вмест int поставь void main()
IrineK
Заблокирован
28.03.2011, 00:46     Вычисления массива (проверить код) #5
А в чем глубинный философский смысл этого выражения:
y = a * sin(x[i])/sin(x[i])-b

По идее, это просто:
y = a-b
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
28.03.2011, 00:52  [ТС]     Вычисления массива (проверить код) #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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <math.h>
const int n=10;
int main()
{
int i;
float x[10];
printf("massiv\n");
for (i=0; i<10; i++)
scanf_s("%f", &x[i]);
}
void main() 
{
    float a,b,x;
 
    printf("Enter a,b,x[i]");
    scanf("%f %f %f", &a, &b, &x[i]);
    if (x<=2.3)
         y = a-b
    else if (x>=5.3)
    y = sin(a*x[i])-sqrt(x[i]);
    else
        y = b*tg(x[i])
 
    printf("y = %f",y);
}
1>------ Построение начато: проект: Mynameiszhenia1, Конфигурация: Debug Win32 ------
1> Mynameiszhenia1.cpp
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(16): error C2556: void main(void): перегруженная функция отличается от "int main(void)" только возвращаемым типом
1> c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(7): см. объявление "main"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(16): error C2371: main: переопределение; различные базовые типы
1> c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(7): см. объявление "main"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(20): error C2065: i: необъявленный идентификатор
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(22): error C2065: y: необъявленный идентификатор
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(23): error C2143: синтаксическая ошибка: отсутствие ";" перед "else"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(24): error C2065: y: необъявленный идентификатор
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(24): error C2065: i: необъявленный идентификатор
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(24): error C2065: i: необъявленный идентификатор
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(26): error C2065: y: необъявленный идентификатор
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(26): error C2065: i: необъявленный идентификатор
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(28): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "printf"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(26): error C3861: tg: идентификатор не найден
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(28): error C2065: y: необъявленный идентификатор
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Ариман
20 / 20 / 1
Регистрация: 18.09.2010
Сообщений: 28
28.03.2011, 00:53     Вычисления массива (проверить код) #7
опять у тебя 2 main()... что ты там исправил ?
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <math.h>
const int n=10;
void main()
{
int i;
float x[n]={0};
float a,b,y;
printf("massiv\n");
for (i=0; i<n; i++)
scanf_s("%f", &x[i]);
 
 
        printf("Enter a,b,x[i]");
        scanf("%f %f %f", &a, &b, &x[i]);
for(i=0;i<n;i++)
{
    if (x[i]<=2.3)
                 y = a-b;
        else if (x[i]>=5.3)
        y = sin(a*x[i])-sqrt(x[i]);
        else
                y = b*tg(x[i]);
 
        printf("y = %f",y);
}
}
вроде должна заработать
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
28.03.2011, 00:57  [ТС]     Вычисления массива (проверить код) #8
Цитата Сообщение от IrineK Посмотреть сообщение
А в чем глубинный философский смысл этого выражения:
y = a * sin(x[i])/sin(x[i])-b

По идее, это просто:
y = a-b
Это идёт как дробь.
т.е в числителе: a-sin(икс итый)
в знаменателе: sin(икс итый)-b

Добавлено через 2 минуты
Цитата Сообщение от Ариман Посмотреть сообщение
опять у тебя 2 main()... что ты там исправил ?
А можете исправить, как должно быть? Просто я вообще, не знаю С, только изучаю азы, второй день :-)
IrineK
Заблокирован
28.03.2011, 01:00     Вычисления массива (проверить код) #9
т.е в числителе: a-sin(икс итый)
в знаменателе: sin(икс итый)-b
имеет другую физиономию лица:
y = a * sin(x[i])/(sin(x[i])-b)

Добавлено через 3 минуты
Ариман,
в строке 14 и 18 x[i] запрашивается дважды.
a,b вообще не надо вводить в цикле. Они - общее достояние для всех "итых".
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
28.03.2011, 01:05  [ТС]     Вычисления массива (проверить код) #10
Итог:
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(18): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(19): error C2446: <=: нет преобразования "double" в "float *"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(19): error C2440: <=: невозможно преобразовать "double" в "float [10]"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(21): error C2446: >=: нет преобразования "double" в "float *"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(21): error C2440: >=: невозможно преобразовать "double" в "float [10]"
1>c:\users\жека\documents\visual studio 2010\projects\mynameiszhenia1\mynameiszhenia1\mynameiszhenia1.cpp(24): error C3861: tg: идентификатор не найден
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
IrineK
Заблокирован
28.03.2011, 01:07     Вычисления массива (проверить код) #11
qheff,
вам реально нужна помощь или вы так прикалываетесь?
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
28.03.2011, 01:09  [ТС]     Вычисления массива (проверить код) #12
Цитата Сообщение от IrineK Посмотреть сообщение
qheff,
вам реально нужна помощь или вы так прикалываетесь?
Почему? Нужна, я просто плохо знаю (да что там говорить, ужасно) язык С и две задачи мне надо сдать завтра, очень хотелось бы выучить его, но преподавали отвратительно.
Ариман
20 / 20 / 1
Регистрация: 18.09.2010
Сообщений: 28
28.03.2011, 01:14     Вычисления массива (проверить код) #13
C++
1
y = b*tan(x[i]);
вот запустилось
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
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
const int n=10;
void main()
{
int i;
double x[n]={0};
double a,b,y;
printf("massiv\n");
for (i=0; i<10; i++)
scanf("%f", &x[i]);
 
 
        printf("Enter a,b,x[i]");
        scanf("%f %f %f", &a, &b, &x[i]);
        for(i=0;i<n;i++)
        {
    if (x[i]<=2.3)
                 y = a-b;
        else if (x[i]>=5.3)
        y = sin(a*x[i])-sqrt(x[i]);
        else
                y = b*tan(x[i]);
 
        printf("y = %f",y);
}
}
самое главное работает ) а правильно ли считает это я хз я с математикой недружу
IrineK
Заблокирован
28.03.2011, 01:16     Вычисления массива (проверить код) #14
Ариман,
родной, а что вы считаете, собственно?
Ариман
20 / 20 / 1
Регистрация: 18.09.2010
Сообщений: 28
28.03.2011, 01:18     Вычисления массива (проверить код) #15
Цитата Сообщение от IrineK Посмотреть сообщение
Ариман,
родной, а что вы считаете, собственно?
Я не считаю ) это он считает. Вроде попросил исправить ошибки чтоб прога работала. ну вот она запускаетца а дальше пусть ваятель сего творчества разбирается
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2011, 01:22     Вычисления массива (проверить код)
Еще ссылки по теме:

C++ Проверить код
Проверить правильность вычисления по формулам C++
C++ Проверить вычисления на переполнение и потерю точности

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

Или воспользуйтесь поиском по форуму:
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
28.03.2011, 01:22  [ТС]     Вычисления массива (проверить код) #16
Цитата Сообщение от Ариман Посмотреть сообщение
Я не считаю ) это он считает. Вроде попросил исправить ошибки чтоб прога работала. ну вот она запускаетца а дальше пусть ваятель сего творчества разбирается
Запустилось (правда с фаталкой).
Не сочтите за наглось, но можете ещё посмотреть "моё творчество в плане цифр", спасибо :-)
Yandex
Объявления
28.03.2011, 01:22     Вычисления массива (проверить код)
Ответ Создать тему
Опции темы

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