Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2009, 16:11   #1
Медина
Пользователь
 
Регистрация: 27.03.2009
Сообщений: 14
По умолчанию Разность max min Си++ Где ошибка?

Подскажите где ошибка!?

Код:
#include <math.h>
#include <conio.h>
#include <stdio.h>
#define N 11
#define tn 0.0
#define pi 3.141592
#define tk 2*pi

using namespace std;

float form_vrem(int n,float t[])
{float dt;
int i;
dt=fabs(tk-tn)/(N-1);
for(int i=0;i<N;i++)
t[i]=tn+i*dt;
    return (0);
}


float form_vxoda(int n,float t[],float Uvh[])
{int i;
     float U=50.0,a=0.5;
for(i=0;i<N;i++)
Uvh[i]=U*exp(-a*t[i])*sin(t[i]);
return (0);
}



float form_vixoda(int n,float Uvh[],float Uvih[])
{int i;
     float a1=0.5,a2=0.5,a3=0.5,Uvh1=10.0,Uvh2=50.0,b1=10.0,b2=10.0,b3=60.0;
for(i=0;i<N;i++)
        if(Uvh[i]<=Uvh1) Uvih[i]=a1*Uvh[i]+b1;
      if(Uvh[i]<=Uvh2&&Uvh[i]>Uvh1)  Uvih[i]=a2*Uvh[i]+b2;
        if(Uvh[i]>Uvh2) Uvih[i]=a3*Uvh[i]+b3;
        return (0);
        }
    
         float Raznost(int n,float Uvih[])
         { float Umax,Umin,R;
         int i;
         
         for(int i=0;i<N;i++)
         
         if(Uvih[i]>Umax) Umax=Uvih[0];
         printf("\n Umax=%.3f",Umax);
          for(int i=0;i<N;i++)
         if(Uvih[i]<Umin) Umin=Uvih[0];
         printf("\n Umin=%.3f",Umin);
          R=Umax-Umin;
           printf("\n R=%.3f",R);
          }
          
        float table(int n,float t[],float Uvh[],float Uvih[])
{

int i;
        printf("\n\n i | t[i] | Uvh[i] | Uvih[i]\n");
        printf("---------------------------------------- \n");
         for(int i=0;i<N;i++)
         printf("%2d | %6.3f | %7.3f | %4.3f\n",i,t[i],Uvh[i],Uvih[i]);
         return (0);
         }
        
        
         
 int main()
{float  t[N],Uvh[N],Uvih[N],dt;
int n;
form_vrem(n,t);
    form_vxoda(n,t,Uvh);
    form_vixoda(n,Uvh,Uvih);
         table(n,t,Uvh,Uvih);
         getch();
         return(1);
         }

Последний раз редактировалось Медина; 19.04.2009 в 23:13.
Медина вне форума Ответить с цитированием
Старый 19.04.2009, 16:24   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Медина Скажите, в чем проявляется ошибка.
Что должна делать программа?

И поместите код в тег CODE.

Пока могу сказать одно: у вас не вызывается ни одна из описанных функций.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 16:56   #3
Медина
Пользователь
 
Регистрация: 27.03.2009
Сообщений: 14
По умолчанию

Прграмма выводит все результаты i,t[i],uvh[i],uvih[i],кроме разности между максимальными и мин значениями Uvih сигнала.
Ошибок компилятор не находит
а как в код записать?
Медина вне форума Ответить с цитированием
Старый 19.04.2009, 17:04   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а как в код записать?
На панели в окне редактирования есть кнопка "#". Щелкните на ней и между появившимися тегами вставьте код.

Цитата:
Прграмма выводит все результаты i,t[i],uvh[i],uvih[i],кроме разности между максимальными и мин значениями Uvih сигнала.
Результаты чего? Программа вообще ничего не выводит, потому что, как я и сказал, ни одна функция не вызывается.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 17:19   #5
Медина
Пользователь
 
Регистрация: 27.03.2009
Сообщений: 14
По умолчанию

Тогда я совершенно не понимаю,почему у меня компилируется и выводятся 4 столбца результатов(по зависимостям времени,входного сигнала и выходного)

Последний раз редактировалось Медина; 19.04.2009 в 17:22.
Медина вне форума Ответить с цитированием
Старый 19.04.2009, 17:38   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Тогда я совершенно не понимаю,почему у меня компилируется и выводятся 4 столбца результатов(по зависимостям времени,входного сигнала и выходного)
Значит вы что-то не то выложили.
Вот ваша главная функция:
Код:
 int main()
{float  t[N],Uvh[N],Uvih[N],dt;
int i;
         
         getch();
         return(1);
         }
Здесь ничего не вызывается. Следовательно, и не выводится.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 21:58   #7
Медина
Пользователь
 
Регистрация: 27.03.2009
Сообщений: 14
По умолчанию

ммм получается так??

Код:
 int main()
{float  t[N],Uvh[N],Uvih[N],dt;
int n;
form_vrem(n,t);
    form_vxoda(n,t,Uvh);
    form_vixoda(n,Uvh,Uvih);

         getch();
         return(1);
         }
Медина вне форума Ответить с цитированием
Старый 19.04.2009, 22:08   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну чтож, уже двигается.
Исправьте первую ошибку:
в функции form_vixoda в цикле for двойное объявление.
Должно быть:
Код:
for(i=0;i<N;i++)
Программа запустится (правда, ничего не выведет, т.к. выводить нечего). Идем к следующей проблеме.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 22:37   #9
Медина
Пользователь
 
Регистрация: 27.03.2009
Сообщений: 14
По умолчанию

исправила
мм а какая следующая ошибка?

*спасибо огромное,что помогаете!нам бы таких преподователей...(а то по книгам самостоятельно не очень получается пока учится(
Медина вне форума Ответить с цитированием
Старый 19.04.2009, 22:41   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
мм а какая следующая ошибка?
Так это к вам вопрос. Что еще должно работать, но не работает?
Вижу две функции: Raznost и table. Что они и для чего - не имею понятия.

Цитата:
*спасибо огромное,что помогаете!нам бы таких преподователей...(а то по книгам самостоятельно не очень получается пока учится(
Главное желание ) И все получится.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разность между max и min значениями Иван 883 Паскаль, Turbo Pascal, PascalABC.NET 2 16.02.2009 23:24
Как поменять местами в массиве max и min элемент. Stager Общие вопросы C/C++ 2 13.01.2009 02:03
m=min(max{aij}) Массивы на C++ Wia Помощь студентам 2 22.12.2008 19:23
задачи на массив среднеарифметическое и min,max Stinging Паскаль, Turbo Pascal, PascalABC.NET 4 17.12.2008 17:14
Как найти max и min элементы матрицы????? ЕвгениуS Помощь студентам 19 02.03.2008 19:47