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

Оператор Switch и Загрузка из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Затруднения в программе http://www.cyberforum.ru/cpp-beginners/thread587270.html
Здравствуйте. Когда писала программу столкнулась с вот таким вопросом от преподавателя: float time_max(int n, float *Uvx, float *t) { float max=*Uvx; for (int i=0;i<n;i++) if (Uvx>max) max=Uvx; for (int i=0;i<n;i++) if(Uvx==max) return t;} Здесь я описываю вывод момента времени, при котором Uvx будет максимальным.
C++ Реализация алгоритма обхода лабиринта Определение границ перколяционного кластера: реализация алгоритма обхода лабиринта. Буду очень благодарен за помощь. http://www.cyberforum.ru/cpp-beginners/thread587262.html
Как потоковую функцию в шаблоне класса сделать неинлайновой C++
Если потоковую функцию описать внутри класса, то все компилируется и собирается. Но если вынести ее код наружу, то функция не находится: template<class T> class A { protected: T x,y; public: A():x(0),y(0){}
Создание классов C++
Создать абстрактный базовый класс Triangle(треугольеник) для представления треугольника виртуальными функциями вычисления площади и периметра. Поля должны включать две стороны и угол между ними. Определить классы-наследники: прямоугольный треугольник, равнобедренный треугольник, равносторонний треугольник со своими функциями перевода и вывода на экран
C++ Найти первый отрицательный элемент последовательности sin(ctg(xi) x1 вводиться а последющие вычисляються по формуле x1+1=xi+0.3 http://www.cyberforum.ru/cpp-beginners/thread587243.html
1)Найти первый отрицательный элемент последовательности sin(ctg(xi)) x1 вводиться а последющие вычисляються по формуле x1+1=xi+0.3 в c++
C++ Вывод в консольном приложении Всем доброго времени суток. Написал приложение выводящие через printf 5 строк с паузой в 1 сек. При обычном запуске всё работает хорошо. Решил перенаправить стандартный вывод приложения в файл( через командную строку: test.exe > file.txt) и здесь появилась проблема. Файл заполняется не по мере выполнения моей программы, а только после её завершения. Возможно он сначала как-то буферизует данные.... подробнее

Показать сообщение отдельно
jackieone
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 3
26.05.2012, 22:36     Оператор Switch и Загрузка из файла
Всем доброго времени суток. Не могу разобраться, как мне осуществить данную затею.
Вот моё чудо:\

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define N 10000

void Time(int n,float*t);
void Vxod(int n,float*t,float*Uvh);
void Vixod(int n,float*t,float*Uvih);
void tablica(int n,float*t,float*Uvh,float*Uvih);
float dlitelnost(int ,float*,float*);
int pogr(int, float *, float*, float*, float );

void Time(int n,float*t)
{
int i;
float dt, tn=0, tk=20.0;
dt=(tk-tn)/(n-1);

for(i=0;i<n;i++)
{
t[i]=tn+i*dt;
}
return;
}

void Vxod(int n,float*t,float*Uvh)
{
int i;
float tm=10, tn=0, tk=20.0,U=75;
for(i=0;i<n;i++)
{
if (t[i]<tm) Uvh[i]=(U/(tm-tn))*(t[i]-tn); else
if (t[i]>=tm) Uvh[i]=(U/(tk-tm))*(tk-t[i]);
}

return;
}


void Vixod(int n,float*Uvh,float*Uvih)
{
int i;
float Uvh1=20.0,a=0.1,U2=40.0;
for(i=0;i<n;i++)
{
if (Uvh[i]>=0 && Uvh[i]<Uvh1) Uvih[i]=a*Uvh[i]*Uvh[i]; else Uvih[i]=U2;


}

return;
}

float dlitelnost(int n, float*t, float*Uvih)
{
int i;
float Uvih_max,U1,U2,T1,T2,T;

Uvih_max=Uvih[0];

for(i=1;i<n;i++)

{

if(Uvih[i]>Uvih_max) Uvih_max=Uvih[i];
}

U1=0.1*Uvih_max;
U2=0.9*Uvih_max;

printf("\n U1=%6.3f U2=%6.3f",U1,U2);
for(i=n-1;i>0;i--)
if(Uvih[i]>=U1)
{
T1=t[i];
break;

}
for(i=n-1;i>0;i--)
if(Uvih[i]>=U2)
{
T2=t[i];
break;

}
printf("\n T1=%6.3f T2=%6.3f",T1,T2);
T=T1-T2;
return T;
}

int pogr(int n, float *t, float*Uvh, float*Uvih, float W)
{

float Epx=0.012, P;

Time(n,t);
Vxod(n,t,Uvh);
Vixod(n,Uvh,Uvih);
P=fabs(W-dlitelnost(n,t,Uvih));
printf("\t T=%.4f P=%.3f n=%d",dlitelnost(n,t,Uvih),P,n);
if(P<Epx)
return n;


else {
W=dlitelnost(n,t,Uvih);
n=n*2;
pogr(n,t,Uvh,Uvih,W);
}
}


void tablica(int n,float*t,float*Uvh,float*Uvih)
{int i;
printf("\n i t[i] Uvh[i] Uvih[i]");
for(i=0;i<n;i++)
{
printf("\n %.3d %6.3f %6.3f %6.3f", i, t[i], Uvh[i],Uvih[i]);
}
}

int main()
{

int c,i,n=11;
float t[N],Uvih[N],Uvh[N], W=1000000;



Time(n,t);
Vxod(n,t,Uvh);
Vixod(n,Uvh,Uvih);
tablica(n,t,Uvh,Uvih);
printf("\n n=%d",pogr(n,t,Uvh,Uvih,W));



return(0);
}

Нужно внедрить оператор свитч(ну с этим все понятно, но тем не менее хотелось бы увидеть предложения), а во вторых, нужно сделать загрузку из файла.(Нужно засунуть каждую подпрограмму в текстовый файл). Помогите пожалуйста, поделитесь идеями и мыслями.
Заранее спасибо.

Добавлено через 9 часов 5 минут
Знающих людей на этом форуме, совсем нету?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru