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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2012, 11:52   #1
Игорь_С
Пользователь
 
Аватар для Игорь_С
 
Регистрация: 14.10.2012
Сообщений: 39
По умолчанию разбиение проги по подпрограммам

Дана функция y=F(x) ,x изменяется от xmin до xmax. Максимальное и минимальное значение функции y=F(x) на интервале x принадлежит [xmin...xmax] обозначим как xmax и ymax. Необходимо создать матрицу M размерностью m на n , так что элемент матрицы M(00) имеет координаты (xmin, ymin), а элемент матрицы M(m-1,n-1) имеет координаты (xmax, ymax). Элемент матрицы M(i,j) равен ‘o’, если его координата по оси Y ближе к F(x) , чем некоторое значение d , иначе M(i,j) равен ‘ ‘(пробел).
Необходимо написать программу для расчёта матрицы M и вывода строк данной матрицы в текстовый файл в обратном порядке (от m - 1 до нулевой).
программу то я написал вот:
#include <iostream>
#include <math.h>
#include <fstream>

using namespace std;


int main()
{



int N, M;
float q,d,ymax=sqrt(5),ymin=0,xmin=0, xmax=0,x,y;
cin >> N;
cin >> d;
M=((ymax-ymin)*N)/(xmax-xmin);
char **array;
array=new char *[M];
for (int i=0; i<M; i++)
array[i]=new char[N];
x=(xmax-xmin)/N;
y=(ymax-ymin)/M;
for (int i=0; i<N; i++)
{
q=ymin;
for (int j=0; j<M; j++)
{
if (fabs(sqrt(xmin)-q)<=d)
array[j][i]='0'; else array[j][i]=' ';
q=q+y;
}
xmin=xmin+x;
}

FILE *f=fopen("graf.txt","w");
for (int i=0; i<M; i++)
{
fprintf(f,"\n");
for (int j=N-1; j>0; j--)
fwrite (&array[i][j],sizeof(char),1,f);
}
fclose(f);
return 0;
}




но препод сказал разбить по подпрограммам я сделал вот
#include <iostream>
#include <math.h>
#include <fstream>


using namespace std;
int fun();
int fun_5();
int fun_1(int);
char fun_2(int, int, float, float, float, float, float, char);
void fun_3(int, int);
void fun_4 (int, int);

int main()
{
int N,M;
float d;
float xmin=0, ymin=0, xmax=5, ymax=sqrt(5);
N=fun();
d=fun_5();
M=fun_1(N);
fun_4(M, N);

char array;




array= fun_2(M,N,xmax,xmin,ymax,ymin,d, **array);
fun_3(M,N);


return 0;
}


int fun()
{
int N;

cout << "Enter N \n";
cin >> N;
return N;


}
int fun_5()
{
float d;
cout << "Enter d \n";
cin >> d;
return d;
}

int fun_1(int N)
{

int M;

float const xmin=0, ymin=0, xmax=5, ymax=sqrt(5);
return M =((ymax-ymin)*N / (xmax-xmin));

}


char fun_2(int M, int N, float xmax, float xmin, float ymax, float ymin, float d, char **array)
{


float x, y, q;
x=(xmax-xmin)/N;
y=(ymax-ymin)/M;
for(int i=0; i<N; i++)
{
q=ymin;
for(int j=0; j<M; j++)
{
if(fabs(sqrt(xmin)-q)<=d)
array[i][j]='0';
else
array[i][j]=' ';
q=q+y;

}
xmin=xmin+x;
}
return **array;


}


void fun_3(int M, int N)
{
char array[M][N];

FILE *f=fopen("graf.txt","w");
for (int i=0; i<M; i++)
{
fprintf(f,"\n");
for (int j=N-1; j>0; j--)

fwrite (&array[i][j],sizeof(char),1,f);
}
fclose(f);

}
void fun_4(int M, int N)
{


char **array;
array=new char *[M];
for (int i=0; i<M; i++)
array[i]=new char[N];


}



компилятор выдаёт ошибки прошу помочь
P.S код ошибки не выкладываю т.к. если что нибудь исправлю он выводит новые.

Последний раз редактировалось Игорь_С; 15.10.2012 в 12:04.
Игорь_С вне форума Ответить с цитированием
Старый 15.10.2012, 13:33   #2
LynXzp
Пользователь
 
Аватар для LynXzp
 
Регистрация: 04.10.2012
Сообщений: 95
По умолчанию

Цитата:
компилятор выдаёт ошибки прошу помочь
P.S код ошибки не выкладываю т.к. если что нибудь исправлю он выводит новые.
Хм, если вы исправляете одну ошибку или делаете новую то естественно он выдаст другую(ие) ошибку.

Может быть стоит все ошибки исправить?

Коды всех ошибок в студию.
Пишу на чистом С, плюсы спилил.
LynXzp вне форума Ответить с цитированием
Старый 18.10.2012, 04:44   #3
Игорь_С
Пользователь
 
Аватар для Игорь_С
 
Регистрация: 14.10.2012
Сообщений: 39
По умолчанию

Код:
#include <iostream>
#include <fstream>
#include <math.h>


using namespace std;
int fun();
int fun_5();
int fun_1(int);
char fun_2(float xmax, float xmin, float ymax, float ymin, float d, char (*ar)[n],int m, int n);
char fun_3(int, int);

int main()
{
int N,M;
float d;
float xmin=0, ymin=0, xmax=5, ymax=sqrt(5);
N=fun();
d=fun_5();
M=fun_1(N);


char array[M][N];




fun_2(xmax, xmin, ymax, ymin, d, array, M, N,);



return 0;
}


int fun()
{
int N;

cout << "Enter N \n";
cin >> N;
return N;


}
int fun_5()
{
float d;
cout << "Enter d \n";
cin >> d;
return d;
}

int fun_1(int N)
{

int M;

float const xmin=0, ymin=0, xmax=5, ymax=sqrt(5);
return M =((ymax-ymin)*N / (xmax-xmin));

}


char fun_2(float xmax, float xmin, float ymax, float ymin, float d, char (*ar)[n],int m, int n)
{


float x, y, q;
x=(xmax-xmin)/n;
y=(ymax-ymin)/m;
for(int i=0; i<n; i++)
{
q=ymin;
for(int j=0; j<m; j++)
{
if(fabs(sqrt(xmin)-q)<=d)
array[i][j]='0';
else
array[i][j]=' ';
q=q+y;

}
xmin=xmin+x;
}
return array;


}


char fun_3(int M, int N)
{


ofstream f("graf.txt");
for (int i=0; i<M; i++)
{

for (int j=N-1; j>0; j--)

f << (array[i][j]);
}
f.close();

}
вот код ошибок
\laba2\main.cpp|10|error: 'n' was not declared in this scope|
\laba2\main.cpp|10|error: expected ')' before ',' token|
\laba2\main.cpp|10|error: expected unqualified-id before 'int'|
\laba2\main.cpp||In function 'int main()':|
\laba2\main.cpp|28|error: expected primary-expression before ')' token|
\laba2\main.cpp|65|error: 'n' was not declared in this scope|
\laba2\main.cpp|65|error: expected ')' before ',' token|
\laba2\main.cpp|65|error: expected unqualified-id before 'int'|
||=== Build finished: 7 errors, 0 warnings ===|
Игорь_С вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по подпрограммам OFFSET Паскаль, Turbo Pascal, PascalABC.NET 0 20.12.2011 22:29
Вопрос по подпрограммам в Паскале Elabrion Помощь студентам 3 25.09.2011 22:08
Разбиение hrusha2006 Помощь студентам 0 07.11.2010 09:13
Две проги. Порезка труб и движения коня по шахматной доске. По какому принципу работают такие проги? sadf Общие вопросы C/C++ 4 06.03.2010 20:04
Помогите с парой заданий по подпрограммам Eisebio Помощь студентам 1 11.03.2009 17:05