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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2009, 23:52   #1
Foxtrot_1
Пользователь
 
Аватар для Foxtrot_1
 
Регистрация: 14.06.2009
Сообщений: 67
Стрелка Трассировка программы

Добрый вечер Форумчане.
Не могу провести трассировку программы на С.
Кто-нибудь сталкивался с трассировкой?
Код:
#include <conio.h>
#include <iostream.h>
#include <math.h>

struct point //структура координаты
{
        float x;
        float y;
};

struct stanc //структура станции
{
        point koor;
        int daln;
};

struct stanc *m; //массив из m станций
int kol_st;
stanc ab1, ab2; //2 абонента

float rasst(point a, point b) //функция нахождения расстояния между координатами
{
        float res = sqrt(pow((a.x-b.x),2)+pow((a.y-b.y),2));
        return res;
}

int main()
{
        clrscr();
        cout<<"Vvedite dannie po stanciyam, dalnost ne dolgna previshat 50 km:\n";
        cout<<"Vvedite kolichestvo stancii\n";
		cin>>kol_st;
		m=new stanc[kol_st+1];          
		for (int i = 1; i <= kol_st; i++) //ввод информации по станциям
        {
                cout<<"Stanciya N"<<i<<":\n";
                cout<<"Koordinata X: ";
                cin>>m[i].koor.x;
                cout<<"Koordinata Y: ";
                cin>>m[i].koor.y;
                do
                {
                        cout<<"Dalnost: ";
                        cin>>m[i].daln;
                }
                while (m[i].daln < 1 || m[i].daln > 50);
        }
        cout<<"---Vvedite dannie po abonentam:\n";
        cout<<"Abonent 1:\n"; //ввод информации по абоненту 1
        cout<<"Koordinata X: ";
        cin>>ab1.koor.x;
        cout<<"Koordinata Y: ";
        cin>>ab1.koor.y;
        do
        {
                cout<<"Dalnost: ";
                cin>>ab1.daln;
        }
        while (ab1.daln < 1 || ab1.daln > 50);
        cout<<"Abonent 2:\n"; //ввод информации по абоненту 2
        cout<<"Koordinata X: ";
        cin>>ab2.koor.x;
        cout<<"Koordinata Y: ";
        cin>>ab2.koor.y;
        do
        {
                cout<<"Dalnost: ";
                cin>>ab2.daln;
        }
        while (ab2.daln < 1 || ab2.daln > 50);
        if (rasst(ab1.koor, ab2.koor) <= ab1.daln && rasst(ab1.koor, ab2.koor) <= ab2.daln) //проверка возможности связи
        cout<<"Svyas megdy abonentami vozmogna!\n";
        else
        cout<<"Svyas megdy abonentami ne vozmogna!\n";
        int min = 50;
        int k = 1;
        for (int i = 1; i <= 4; i++) //определение ближайшей к абоненту 1 станции
        if (rasst(ab1.koor, m[i].koor) < min)
        {
                min = rasst(ab1.koor, m[i].koor);
                k = i;
        }
        cout<<"Bligayshaya k abonenty 1 stancya N"<<k<<"\n";
        min = 50;
        k = 1;
        for (int i = 1; i <= 4; i++) //определение ближайшей к абоненту 2 станции
        if (rasst(ab2.koor, m[i].koor) < min)
        {
                min = rasst(ab2.koor, m[i].koor);
                k = i;
        }
        cout<<"Bligayshaya k abonenty 2 stancya N"<<k<<"\n";
        cout<<"Nazhmite lyubuyu klavishu dlya vihoda...";
        getch();
}
Всегда бывает лучше, чем ты хочешь!!!
Foxtrot_1 вне форума Ответить с цитированием
Старый 08.10.2009, 00:01   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

а в чем проблема? ставишь брейкпоинт, запускаешь прогу в режиме дебага, она останавливается на брейкпоинте и жмешь step или next, хз, что у тебя за дебаггер
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 08.10.2009, 00:07   #3
Foxtrot_1
Пользователь
 
Аватар для Foxtrot_1
 
Регистрация: 14.06.2009
Сообщений: 67
По умолчанию

Мне нужна ручная трассировка с составлением таблицы.
Всегда бывает лучше, чем ты хочешь!!!
Foxtrot_1 вне форума Ответить с цитированием
Старый 08.10.2009, 00:12   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

и в чем проблема? покажу на примере цикла:
Код:
int a = 0;
for (int i = 0; i < 10; i++) {
    a = i + 1;
}
ну и таблица будет аля
i a
----------------------------
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10

что непонятного то? тем более, ручная трассировка - понятие абстрактное (но я считаю это описание всех переменных, которые изменяются в цикле на каждом его шаге). так что никто тут не угадает, что именно взбрело в голову твоему преподу
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 08.10.2009, 00:20   #5
Foxtrot_1
Пользователь
 
Аватар для Foxtrot_1
 
Регистрация: 14.06.2009
Сообщений: 67
По умолчанию

Счас приложу файл, там указано, что надо преподу.
Вложения
Тип файла: doc Пример.doc (42.0 Кб, 37 просмотров)
Всегда бывает лучше, чем ты хочешь!!!
Foxtrot_1 вне форума Ответить с цитированием
Старый 08.10.2009, 00:27   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

ну и что дальше? все еще проще. в циклы даже заходить не надо. распиши все значения переменных на каждом шаге. я не понимаю, чем тебе помочь
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 08.10.2009, 18:18   #7
Foxtrot_1
Пользователь
 
Аватар для Foxtrot_1
 
Регистрация: 14.06.2009
Сообщений: 67
По умолчанию

Уважаемый pproger, я ведь только учусь, поэтому и спрашиваю. У меня стоит прога Borland C++Builder, в ней можно проверить трассировку, и как? Если можно, то пошагово. Спасибо.
Всегда бывает лучше, чем ты хочешь!!!

Последний раз редактировалось Foxtrot_1; 08.10.2009 в 18:27.
Foxtrot_1 вне форума Ответить с цитированием
Старый 08.10.2009, 18:31   #8
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Foxtrot_1
Цитата:
Мне нужна ручная трассировка с составлением таблицы.
такая трассировка делается с помощью карандаша и бумаги. смотри в свой док до потери сознания, и поймешь. что делать я тебе уже объяснил
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 08.10.2009, 19:36   #9
Foxtrot_1
Пользователь
 
Аватар для Foxtrot_1
 
Регистрация: 14.06.2009
Сообщений: 67
По умолчанию

Цитата:
смотри в свой док до потери сознания
В том и суть, что в материале нет ничего про трассировку. Было бы не просил бы помощи! В нете тоже ничего не накопал.
Всегда бывает лучше, чем ты хочешь!!!
Foxtrot_1 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 программы. Maxs Помощь студентам 1 30.04.2009 10:01
Трассировка Till Паскаль, Turbo Pascal, PascalABC.NET 1 01.07.2008 10:24
Запуск программы на выполнение из другой программы. ViNcHeStEr Паскаль, Turbo Pascal, PascalABC.NET 6 18.06.2008 14:33
программы koyot Фриланс 1 14.03.2008 13:10
Программы Simply-Art Свободное общение 4 18.09.2007 22:41