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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LuCiFeRR7727
Сообщений: n/a
#1

Табулирование функций - C++

07.10.2012, 23:08. Просмотров 366. Ответов 2
Метки нет (Все метки)

ребят, срочно. Туплю по страшному. Я вообще на делфи пишу, но волей судьбы пришлось учить С++.
Не пойму где ошибка ( Начинает выводить дикие значения и выкидывает "закрытие программы"
Пишу в C::B
вот оригинал
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
void main()
{
int A, An, Ak, Ah,i,j,k;
float X, Y, pi, Xn, Xk, Xh,tmp, tmp2;
float zn[1][11];
char *s1;
Xn=0.1;
Xk=1.1;
Xh=0.1;
An=1;
Ak=3;
Ah=1;
pi=3.14;
i=0;
s1 = strdup("________________________________________________________________________________");
printf ("                            Laboratornaya rabota #1\n");
printf ("                  Tabulirovanie funkcii dvuh peremennyh\n");
printf ("                          i nahojdenie ekstremumov\n");
printf ("      Vypolnil: Tikhonov D.I.\n");
printf ("      Variant #13\n\n");
printf ("           Ishodnye dannye:\n");
printf ("      Funkciya: Y=A*sin(5*x) - x^(-2)\n");
printf ("      Oblast' argumenta: %3.1f <=X<= %3.1f \n",Xn,Xk);
printf ("      Oblast' parametra: %2d <=A<= %2d \n",An,Ak);
printf ("      Shag argumenta = %3.1f \n",Xh);
printf ("      Shag parametra = %2d \n",Ah);
printf ("%s\n",s1);
 
   for (A=An; A<=Ak; A=A+Ah)
   {
    printf ("%s\n",s1);
    printf ("                A=%2d\n",A);
    printf ("\n");
    for (X=Xn; X<=Xk+Xh/2; X=X+Xh)
       {
       Y=A*sin(5*X)-pow(X,-2);
    printf ("          X=%3.1f | Y=%3.4f \n",X,Y);
     if (X==Xn)
           {
              i=0;
 
           }
           zn[1][i]=Y;
           i++;
    }
 for(i = 0 ; i < 9 ; i++)
 {
       for(k = 0 ; k < 9 - i - 1 ; k++)
       {
           if(zn[1][k] > zn[1][k+1])
           {
              tmp = zn[1][k]; zn[1][k] = zn[1][k+1] ; zn[1][k+1] = tmp;
              tmp2 = zn[0][k]; zn[0][k] = zn[0][k+1] ; zn[0][k+1] = tmp2;
           }
        }
    }
    printf ("%s\n",s1);
    printf ("Naibol'shiy y=%4.2f  pri x=%2.1f\n",zn[1][9],zn[0][9]);
  for(i = 0 ; i < 9 ; i++)
 {
       for(k = 0 ; k < 9 - i - 1 ; k++)
       {
           if(zn[1][k] < zn[1][k+1])
           {
              tmp = zn[1][k]; zn[1][k] = zn[1][k+1] ; zn[1][k+1] = tmp;
              tmp2 = zn[0][k]; zn[0][k] = zn[0][k+1] ; zn[0][k+1] = tmp2;
           }
        }
    }
     printf ("Naimen'shiy y=%4.2f  pri x=%2.1f\n",zn[1][9],zn[0][9]);
     for (i=0; i<=10; i++)
     {zn[1][i]=0;}
    }
    getch();
}
вот кусок в котором ошибка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
int i=0;
float ZN[1][15];
float X,Y;
for (X=0.1; X<=1.1+0.1/2; X=X+0.1)
       {
       Y=X;
        printf ("          X=%3.1f | Y=%3.4f \n",X,Y);
     {
 
      ZN[1][i]=Y;
        i++;
     }
    }
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 23:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Табулирование функций (C++):

табулирование функций - C++
Составить программу для вычисления значений функции F(x) на отрезке с шагом h.Результат представить ввиде таблицы,первый столбец...

Табулирование функций - C++
Сложить программу табулирования функции y=2arccos(x) на интервале a,b с шагом h=(b-a)/N, где N - целое число ( вводится с клавиатуры N#0),...

Табулирование функций - C++
Помогите составить программу. Условие: Составить программу для вычисления значений функции F(x) на отрезке с шагом h. Результат...

Табулирование функций. Построить график - C++
Можно пожалуйста с разъяснениями работы программы. Составить программу для вычисления значений функции F(x) на отрезке с шагом h....

Программирование циклических алгоритмов. Табулирование функций - C++
Написать программу вычисления функции на заданном промежутке с шагом 0.2 и построить график этой функции

Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h - C++
Помогите решить задания: 1.Дано натуральное число n. Найти разность между первой цифрой этого числа и суммой всех остальных. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Root2x
12 / 12 / 0
Регистрация: 21.05.2012
Сообщений: 52
07.10.2012, 23:48 #2
Если я не ошибаюсь, то здесь вы вылезаете за пределы массива, вот здесь: ZN[1][i]=Y; Отсчет начинается с нуля. То есть правильно так: ZN[0][i]=Y;
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2012, 05:24 #3
Нужно различать объявление массива и обращение по индексу к элементам массива. Когда объявляется такой массив: float ZN[1][15];, то это двумерный массив, в котором одна строка и 15 элементов в строке, но индексы строк и элементов начинаются с 0. То есть, в таком массиве существует одна строка с индесом 0. Элементы в этой строке: ZN[0][0], ZN[0][1], ZN[0][2], ... , ZN[0][14]. А вы пытаетесь записывать данные в несуществующую строку массива с индексом 1.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 05:24
Привет! Вот еще темы с ответами:

Передача значений функций в главную программу, вызов функций - C++
Здравствуйте! Скорее всего, неправильно передаю значения функциям и в главную программу. Помогите найти ошибку! В итоге выводит...

Объявление функций внутри других функций - C++
Иногда вижу в некоторых исходниках на c объявление функций, внутри main. Например: main(){ double sum(int max_num); } ...

Вызов функций внутри других функций - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iomanip&gt; using namespace std; ...

функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. - C++
функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru