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

Марковский процесс (разобраться в коде) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в перегрузке оператора += http://www.cyberforum.ru/cpp-beginners/thread410252.html
#include <iostream.h> #include <string.h> #include <windows.h> const int da=256; class stroki { public: stroki(); stroki(char *); // Konstruktor stroki(const stroki &);
C++ Ошибка в программе с конструкторами #include <iostream.h> #include <string.h> #include <windows.h> const int da=256; class string { public: string(); string(char *); // Konstruktor string(const string &); http://www.cyberforum.ru/cpp-beginners/thread410247.html
C++ найти ошибку(запятые или скобки)
Где-то намикимаусил, не вижу где)) #include<iostream.h> main() { int i,j=1; cout<<"2\t3\t5\t7\t11\t13\t17\t23\t29\t31\n"; for(i=32;i<1000;++i) { if((i%2==0)&&(i%3==0)&&(i%5==0)&&(i%7==0)&&(i%11==0)&&(i%13==0)&&(i%17==0)&&(i%19==0)&&(i%23==0)&&(i%29==0)&&(i%31))
Вычисление exp с заданной точностью C++
Помогите написать код на Си, вычисление {\exp (x)}^{2} с заданной точностью \varepsilon =0.01, x=2. Заранее благодарен.
C++ Warning ... is assigned a value that is never used http://www.cyberforum.ru/cpp-beginners/thread410237.html
#pragma argsused #include<stdio.h> #include<iostream.h> int main(int argc, char* argv) { int varl; int var2; int var3; //
C++ посчитать повторы слов помогите, пожалуйста, написать программу: Дан текст, содержайщий n строк. Для каждого из слов указать, сколько раз оно встречается в тексте. подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
19.12.2011, 02:28     Марковский процесс (разобраться в коде)
Цитата Сообщение от bacekk Посмотреть сообщение
FILE *fopen(),*f,*g;
* * * int i, j, t;
* * * float z, p[N][N], s[N], pp, sp, x, y;
Я погряз в этих бессмысленных и беспощадных буквах. Проще с нуля написать.

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
 
#define EPSILON 0.000001
 
void readMatrix(const char *filename, float **matrix, size_t size) {
  FILE *in = fopen("tutor0043.in.txt", "r");
  float aValue = 0.f;
  size_t counter = 0;
  for(; counter / size < size && fscanf(in, "%f", &aValue) != EOF; ++counter)
    matrix[counter / size][counter % size] = aValue;
  fclose(in);
}
 
void printMatrix(float **matrix, size_t size) {
  int i, j;
  for (i = 0; i < size; ++i) {
    for (j = 0; j < size; ++j)
      printf("%.3f ", matrix[i][j]);
    printf("\n");
  }
}
 
int checkMatrixRow(float *row, size_t size) {
  int i;
  float sum = 0.f;
  for (i = 0; i < size; ++i)
    sum += row[i];
  return fabs(sum - 1) < EPSILON;
}
 
int checkMatrix(float **matrix, size_t size) {
  int i;
  for (i = 0; i < size; ++i)
    if (!checkMatrixRow(matrix[i], size))
      return 0;
  return 1;
}
 
// this generator is bad and will give not-so-smooth results
float random() {
  return (float)rand() / RAND_MAX;
}
 
int getNextState(float **matrix, size_t size, int currentState) {
  int result = 0;
  float range = random();
  while (range - matrix[currentState][result] > 0 && result < size - 1)
    range -= matrix[currentState][result++];
  return result;
}
 
int main(int argc, char *argv[]) {
  srand(time(0));
  size_t size = 10;
  size_t i;
 
  float **matrix = (float**)malloc(sizeof(float*) * size);
  for (i = 0; i < size; ++i)
    matrix[i] = (float*)malloc(sizeof(float) * size);
  
  readMatrix("tutor0043.in.txt", matrix, size);  
 
  int isMatrixOk = checkMatrix(matrix, size);
  printf("Matrix is %s.\n", (isMatrixOk ? "ok" : "not ok"));
  if (!isMatrixOk) return 1;
  
  printMatrix(matrix, size);
 
  int currentState = 0;
  for (i = 0; i < 100; ++i) {
    int nextState = getNextState(matrix, size, currentState);
    printf("Current state: %2d, next state: %2d.\n", currentState, nextState);
    currentState = nextState;
  }
 
  free(matrix);
  return 0;
}
Файловый вывод и свою функцию рандомизации -- добавить по вкусу.
 
Текущее время: 18:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru