Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Найти минимальное кол-во монет образующие число S Задача такова, что по заданному кол-ву монет с номиналами w, составить сумму дающую число о(сокращение от слова остаток), при этом сумма должна состоять из минимального количества монет. Считается что монет с наминалом w неограниченное число. Мое решение описывает полный перебор: берем макс номинал w меньший о, o=w/o, берем новый элемент меньший o,.. И так для каждого элемента перебираются все... https://www.cyberforum.ru/ cpp-beginners/ thread727656.html Реализуйте двунаправленную очередь как класс C++
Реализуйте двунаправленную очередь как класс. Используя механизм наследования, реализуйте на базе очереди каталог файлов с полями: 1) имя файла; 2) дата создания; Программа должна обеспечивать: 1) начальное формирование каталога файлов; 2) вывод каталога файлов; 3) удаление фалов, «время жизни» которых больше определенного срока. Есть вот такое задание. Есть исходник, вполне работающий...
C++ Какой язык программирования выбрать? Привет, участникам форума. Мне 23 года, решил заняться программированием. Неделю побаловался на Паскале и решил перейти на С++. Все обдумывал на какой язык переходить. Delphi, говорят, не перспективен. Посмотрел я рейтинг tiobe за декабрь, и по их версии, самый популярный язык - это С (и вроде как увеличивает отрыв от Java). Мне показалось это странным с ростом популярности андроида, и с учетом... https://www.cyberforum.ru/ cpp-beginners/ thread727644.html C++ Замена "x" на "ks". Шаблон класса Очень прошу помочь. Написал программу для замены х на ks. Есть шаблоны, генерация и обработка исключений. Но мне надо, чтобы замена происходила внутри одного и того же массива. Если кто сможет помочь поправить код- буду рад. #include<string> #include<iostream> #include<fstream> #include<conio.h> using namespace std; #include"headers.h" #include"Сlasses.h" int main() https://www.cyberforum.ru/ cpp-beginners/ thread727640.html
Найти все числа Армстронга от 1 до K C++
2)натуральное число, в записи которого n цифр, называется числом Армстронга, а если сумма его цифр, возведенная в степень n, равна самому числу. Найти все числа Армстронга от 1 до K.
C++ Вывести содержимое произвольно заданного файла (не работает программа) Эта программа по идее должна выводить на экран содержимое произвольно заданного файла, компилируется без ошибок, но содержимое файла почему-то не выводит( В чем может быть причина? #include "iostream.h" #include "fstream.h" #include "conio.h" int main() { char len; ifstream infile; cout << "enter name files: "; https://www.cyberforum.ru/ cpp-beginners/ thread727610.html
C++ Реализация кольцевого списка на СТЛ Добрый день! Появилось несколько вопросов в ходе выполнения задания. Само задание звучит так: Реализовать шаблон контейнерного класса "кольцо", который был бы построен на базе одного из стандартных последовательных контейнеров STL и характеризовался таким поведением: возможностью циклического перемещения "головы", возможностью прохода в двух направлениях, поиска элементов по значению,... https://www.cyberforum.ru/ cpp-beginners/ thread727590.html C++ Комплексные числа
Никогда не работал в c++ с комплексными числами. Вот программа которую нужно осуществить, но я не знаю как, если не трудно подскажите! #include "stdafx.h" #include "iostream" #include <complex> using namespace std; int main() {
C++ Реализация полиморфизма Читал что существует примерно 10 способов реализации полиморфного контейнера. Видел только один где создается виртуальный класс и у него наслебуются другие классы. а как еще можно сделать полиморфизм? Код и ссылки где почитать пожалуйста покидайте. https://www.cyberforum.ru/ cpp-beginners/ thread727576.html C++ Составить одномерный массив B из номеров строк двумерного массива, в которых есть хотя бы одно нечетное число Здравствуйте, помогите написать программу, условие задачи: Дан двумерный целочисленный массив A(M,N). Составить одномерный массив B из номеров строк этого массива, в которых есть хотя бы одно нечетное число. https://www.cyberforum.ru/ cpp-beginners/ thread727570.html
C++ Как будет ИЛИ
Извиняюсь, за столь простой вопрос, но нигде не могу найти как будет "ИЛИ" на C++.
C++ Найти матрицу, получающуюся перестановкой столбцов, используя указатель https://www.cyberforum.ru/ cpp-beginners/ thread727533.html
Дана целочисленная матрица размера m х n. Найти матрицу, получающуюся перестановкой столбцов (первого с последним, второго с предпоследним и т.д.). Используя указатель. Помогите, не как не пойму как с этим указателем делать... Добавлено через 2 часа 46 минут up up
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 3
28.05.2014, 21:08  [ТС] 0

Определить маршрут робота из позиции (хс, ус) в позицию (хф, уф) - C++ - Ответ 6241283

28.05.2014, 21:08. Показов 2386. Ответов 5
Метки (Все метки)

Ответ

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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
#include <iostream>
using namespace std;
struct Queue
{
    int *x;
    int *y;
    int front;
    int rear;
};
Queue step;
struct way
{
    int Ox;
    int Oy;
    int Old_metk;
    int old_Ox;
    int old_Oy;
};
way Way[200]={0};
void push_puc(int x,int y, int old_metk, int old_x, int old_y,int i)
{
    Way[i].Ox=x;
    Way[i].Oy=y;
    Way[i].Old_metk=old_metk;
    Way[i].old_Ox=old_x;
    Way[i].old_Oy=old_y;
}
void create_queue(const int n)
{
    step.x=new int [n*n];
    step.y=new int [n*n];
    step.front=0;
    step.rear=0;
}
void delete_queue()
{
    delete [] step.x;
    delete [] step.y;
}
void push(int x, int y, int n)
{
    if ((step.rear+1==step.front) || ((step.rear==n*n) && (step.front==0)))
        throw "Очередь заполнена";
    step.x[step.rear]=x;
    step.y[step.rear]=y;
    step.rear++;
    if (step.rear>n*n)
        step.rear=0;
}
bool pop(int &x, int &y,int n)
{
    if (step.rear==step.front)
        return false;
    x=step.x[step.front];
    y=step.y[step.front];
    step.front++;
    if (step.front>n*n)
        step.front=0;
    return true;
}
int**Read_Plan(int &n)
{
    FILE *in;
    if (!(in=fopen("karta.txt","rt")))
        throw "Невозможно открыть входной файл!"; 
    fscanf(in, "%d",&n);
    if (feof(in))
        throw "Файл пустой";
    int**matr;
    matr=new int*[n];
    for (int i=0; i<n; i++)
        matr[i]=new int[n];
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
            fscanf(in, "%d", &matr[i][j]);
    fclose(in);
    return matr;
}
int main()
{
    try{
    setlocale(LC_ALL,".1251");
    FILE  *in,*out;
    int **a,**metk;
    int n,i,j,k;
    int x1,x2,y1,y2,x,y;
    int count,first_metk=0,temp;
    int main_wayx[200]={0};
    int main_wayy[200]={0};
    cout<<"Введите длину перемещений между квадратами"<<endl;
    cin>>k;
    cout<<"Введите начальные координаты"<<endl;
    cin>>x1>>y1;
    cout<<"Введите конечные координаты"<<endl;
    cin>>x2>>y2;
    a=Read_Plan(n); 
    first_metk=INT_MAX;
    for(i=0; i<n/2; i++)
        swap(a[i],a[n-i-1]);
    for(i=0; i<n-1; i++)
        for(j=i+1; j<n; j++)
            swap(a[i][j],a[j][i]);
    metk=new int*[n];
    for (i=0; i<n; i++)
        metk[i]=new int[n];
    for (i=0; i<n; i++)
        for (j=0; j<n; j++)
            metk[i][j]=first_metk;
    metk[x1][y1]=0;
    create_queue(n);
    i=0;
    push(x1,y1,n);
    while(pop(x,y,n))   
    {
        if (((count=x+1)<n) && (metk[count][y]>(metk[x][y]+abs(a[x][y]-a[count][y])+k)))
        {
            metk[count][y]=metk[x][y]+abs(a[x][y]-a[count][y])+k;
            push(count,y,n);
            push_puc(count,y,metk[count][y],x,y,i); i++;    
        }
        if (((count=x-1)>=0) && (metk[count][y]>(metk[x][y]+abs(a[x][y]-a[count][y])+k)))
        {
            metk[count][y]=metk[x][y]+abs(a[x][y]-a[count][y])+k;
            push(count,y,n);
            push_puc(count,y,metk[count][y],x,y,i); i++;
        }
        if (((count=y-1)>=0) && (metk[x][count]>(metk[x][y]+abs(a[x][y]-a[x][count])+k)))
        {
            metk[x][count]=metk[x][y]+abs(a[x][y]-a[x][count])+k;
            push(x,count,n);
            push_puc(x,count,metk[x][count],x,y,i); i++;
        }
        if (((count=y+1)<n) && (metk[x][count]>(metk[x][y]+abs(a[x][y]-a[x][count])+k)))
        {
            metk[x][count]=metk[x][y]+abs(a[x][y]-a[x][count])+k;
            push(x,count,n);
            push_puc(x,count,metk[x][count],x,y,i); i++;
        }
    }
    temp=i;
    if(!(out=fopen("output.txt","wt"))) { cout<<"Can't create file!\n"; return -1; }
    fprintf(out,"%d\n",metk[x2][y2]);
    fprintf(out,"%d %d\n",x1,y1);
    j=0;
    for (i=temp-1; i>=0; i--)
        if ((Way[i].Ox==x2) && (Way[i].Oy==y2) && (Way[i].Old_metk==metk[x2][y2]))
        {
            main_wayx[j]=x2;
            main_wayy[j]=y2;
            j++;
            x2=Way[i].old_Ox;
            y2=Way[i].old_Oy;
        }
    temp=j;
    for(j=temp-1; j>=0; j--)
    {
        fprintf(out,"%d %d\n",main_wayx[j], main_wayy[j]);
        a[main_wayx[j]][main_wayy[j]]=0;
        a[x1][y1]=0;
    }
    for(i=0; i<n-1; i++)
        for(j=i+1; j<n; j++)
            swap(a[i][j],a[j][i]);
    for(i=0; i<n/2; i++)
        swap(a[i],a[n-i-1]);
    
    
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            fprintf(out,"%3d ",a[i][j]);
        fprintf(out,"\n");
    }   
    for (i=0; i<n; i++)
    {
        delete [] a[i];
        delete [] metk[i];
    }
    delete []a;
    delete []metk;
    fclose(out);
    }
    catch(char*k){cout<<k<<endl;}
    return 0;
}


Вернуться к обсуждению:
Определить маршрут робота из позиции (хс, ус) в позицию (хф, уф) C++
Вложения
Тип файла: txt output.txt (139 байт, 28 просмотров)
Тип файла: txt karta.txt (63 байт, 32 просмотров)
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2014, 21:08
Готовые ответы и решения:

Кратчайший маршрут робота
Нужно написать программу для определения маршрута робота.В клеточном поле двигается робот. Имеется...

Вывести на экран компьютера маршрут движения робота
Петя вместе со своим другом Пашей решили создать программу для урока информатики по теме...

Определите маршрут каравана из одной позиции в другую
Помогите решить задачу. Заранее спасибо. Имеется план местности, разбитой на квадраты, который...

Как узнать позицию текста по позиции курсора?
Имеется html-код страницы в блоке &lt;pre&gt;&lt;/pre&gt;, который выводится на экран со всеми отступами,т.е....

5
28.05.2014, 21:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2014, 21:08
Помогаю со студенческими работами здесь

Извлечь 3 бита целого числа A с позиции n и перенести в число B на позицию m
Доброго времени суток.Дана вот такая задача : извлечь 3 бита числа А, начиная с позиции n, и...

При наведении курсора на определённую позицию в заказе появляется всплывающая подсказка (по позиции)
В скрипте информация представляется в иерархической структуре (контракт – цех – заказ - позиция)...

Вставьте порядковый номер максимального элемента за ним. передвинув все оставшиеся позиции на одну позицию впр
Здравствуйте! Прошу помощи в дописании программы:( В одномерном массиве найти максимальный...

Определить маршрут движения.
Задача: Создать БД с расписанием движения самолетов: Номер рейса, Пункт...

Однонаправленный список. Операции: удалить элемент из заданной позиции, добавить элемент в заданную позицию,проверка на неравенство
Помогите. Есть одна написанная. Условия: Очередь. Операции: “+” добавить элемент ; “-“ удалить...

Определить является ли маршрут на графе цепью
Добрый день! Помогите пожалуйста решить задачу))) Маршрут на графе задается списком ((a c) (c e)...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru