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

Матрица мин макс, не правильно выводиться - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать функцию, которая подсчитывает число вхождений элемента Е http://www.cyberforum.ru/cpp-beginners/thread749057.html
Сформировать динамический список (стек или очередь), считая, что длина списка (количество элементов) задана. Описать функцию, которая подсчитывает число вхождений элемента Е, значение ко-торого...
C++ Создание 3D игры на UDK используя C++ Народ всем привет короче у меня появилась идея создать игру на UDK который использует C++. типо этой ==> http://www.youtube.com/watch?v=BpttBAzzo70 но чтобы было много персов и они между собой... http://www.cyberforum.ru/cpp-beginners/thread749051.html
Отличаи класса С++ от структуры на С и структуры на С++ C++
Можете, пожалуйста, перечислить все отличия?
C++ На вход подается некоторое количество треугольников (координаты вершин). Отсортировать и вывести их по возрастанию площадей
доброго времени суто,вы не могли бы мне помочь,очень нужно. Спасибо за ранее ) На вход подается некоторое количество треугольников (координаты вершин). Отсортировать и вывести их по возрастанию...
C++ Найти строку матрицы, имеющую наибольшую разницу между элементами. http://www.cyberforum.ru/cpp-beginners/thread749024.html
доброго времени суто,вы не могли бы мне помочь,очень нужно. Спасибо за ранее ) С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица. Найти строку, имеющую наибольшую разницу...
C++ fstream не создается файл (Ecipse + MinGW) Помогите пожалуйста, у меня не создается текстовый файл. Я начал изучать С++ недавно. Пользуюсь Ecipse + MinGW. Вот мой исходник cWrite.h #ifndef CWRITE_H_ #define CWRITE_H_ class cWrite {... подробнее

Показать сообщение отдельно
Excluz1ve
0 / 0 / 0
Регистрация: 16.09.2012
Сообщений: 18

Матрица мин макс, не правильно выводиться - C++

28.12.2012, 17:59. Просмотров 311. Ответов 2
Метки (Все метки)

Дана функция y=f(x), x изменяется x_min от до x_max. Максимальное и минимальное значение функции y=f(x) на интервале xϵ[x_min,x_max ] обозначим как y_minи y_max. Необходимо создать матрицу M размерностью m×n , так что элемент матрицы M_0.0 имеет координаты (x_(min,) y_min), а элемент матрицы M_(m-1.n-1) имеет координаты (x_(max,) y_max). Элемент матрицы M_(i,j)равен ‘o’, если его координата по оси Y ближе к f(x), чем некоторое значение d, иначе равен ‘ ‘(пробел).
Необходимо написать программу для расчёта матрицы M и вывода строк данной матрицы в текстовый файл в обратном порядке (от m - 1 до нулевой).

f=sin^2 (-p,p)

Нужно чтобы выводился в текстовый файл график синуса.



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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>
 
 
#include <iostream>
#include <stdio.h>
#include <math.h>
 
using namespace std;
 
double Min(double xmin, double xmax, double step) //Функция вернет ymin
{
  double min;
  min=sin(xmin*xmin);
  for (double i=xmin+ step; i<=xmax; i+=step)
    {
     if (sin(i*i)<min) min=sin(i*i);
    }
  return min;
}
 
double Max(double xmin, double xmax, double step) //Функция вернет ymax
{
  double max;
  max=sin(xmin*xmin);
  for (double i=xmin+step; i<=xmax; i+=step)
    {
     if (sin(i*i)>max) max=sin(i*i);
    }
  return max;
}
 
 
int main()
{
 FILE *OutputFile;
 char path_out[25];
  int m,n;
  double ymin, ymax,x,dx,dy,y,f,d;
  double xmin,xmax;
  xmin=-3.14, xmax=3.14;
  printf("Lab N1. \nFunction: sin(x^2).\nRange: [-Pi;Pi]\n");
 
  //Получить n и d
  printf("\nInput n: \n");
  cin>>n;
 
  printf("\nInput d: \n");
  cin>>d;
  if (n<=0||d<=0){ cout<<"ERROR\n"; system("pause"); return 0;}
 
  //Рассчитать ymax и ymin
 
  ymin=Min(xmin,xmax, d);
  ymax=Max(xmin,xmax, d);
  //Рассчет m
  m=(n*(ymax-ymin)/(xmax-xmin));
  cout<<"m = "<<m<<endl;
 
//Объявление матрицы
char **M;
M=new char* [m];
for (int i=0; i<m; i++)
  M[i]=new char[n];
 
//Заполнение матрицы
dx=(xmax-xmin)/n;//Щаг по x
dy=(ymax-ymin)/m;//Шаг по y
x=xmin;
int j=0,i;
while (j<n){
  f=sin(x*x);
  i=m-1; y=ymin;
  while (i>=0){
    if (fabs(y-f)<=d )
      M[i][j]='0';
    else M[i][j]='_';
    i--; y=y+dy;
  }
  j++; x=x+dx;
}
 
printf("Enter output file for result: "); //запрос имени выходного файла
    scanf("%s",path_out);
 
    if ((OutputFile=fopen(path_out,"w+")) == NULL ) //если не удалось открыть файл, то
    {
        perror(path_out); //выводим об этом сообщение
        getch();
    }
//Вывод матрицы
 
printf("Initial matrix: \n");
 
for (i=0;i<m;i++)
{ for(j=0;j<n;j++)
 
   {
      printf("%5i",M[i][j]);
      fprintf(OutputFile,"%4d",M[i][j]);
   }
   printf("\n");
   fprintf(OutputFile,"\n");
}
 
for (i=0;i<m;i++)
{ for(j=0;j<n;j++)
  cout<<M[i][j];
 cout<<"\n";
}
 
 
for (int i = 0; i < m; i ++ )
delete M[i];
delete M;
        cout<<endl;
        system("pause");
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru