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

Ошибки в программе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переслать элементы матрицы построчно в одномерный массив http://www.cyberforum.ru/cpp-beginners/thread1007631.html
Строки матрицы A(m,n)заполнены не полностью: в одномерном массиве L(m) указано количество элементов в каждой строке. Переслать элементы матрицы построчно в одномерный массив Т(Sum(L)), Sum(L)- сумма элементов в массиве L(m) Язык- С++
C++ сбалансированные бинарные деревья Написать программу, которая создает сбалансированное бинарное дерево. Отсортировать массив А путем включения его элементов в дерево и скопировать отсортированы данные обратно в А. http://www.cyberforum.ru/cpp-beginners/thread1007625.html
C++ Реализация списка через классы. Ошибка
Здравствуйте, никак не могу найти ошибку. Программа должна реализовать двунаправленный кольцевой список через класс с параметром. Большинство методов срабатывает правильно, но при конкатенации двух списков, а также при добавлении элемента к уже готовому списку, выводится что-то лишнее(подчёркнуто на скрине). Код: #include<iostream> using namespace std; template <class T> struct myList {...
C++ Кто может нарисовать блок-схему по программе?
#include <conio.h> #include <math.h> #include <stdio.h> #include <stdlib.h> #define DATA_ERROR "\n vvedeni nekorektnie dannie" #define PRESS "\n dly uspehnogo zaversheniy nazhmite lybuy klavishy" #define EXIT getch(); exit(0); void main () { clrscr ();
C++ Сжатие изображения http://www.cyberforum.ru/cpp-beginners/thread1007535.html
У меня есть массив байт изображения. Изображение в ARGB формате. Размер известен и постоянен 256 на 256. Как мне эту картинке уменьшить вдвое по каждому измерению до 128 на 128? Есть какая-нить функция из "коробки"? Я написал такую для примера: BYTE *dstPtr = dst; BYTE const *srcPtr1 = src; BYTE const *srcPtr2 = src; BYTE const *srcPtr3 = src; BYTE const *srcPtr4 = src; for...
C++ Организовать список объектов и сортировку списк Помогите пожалуйста написать программу.Вот само задание: Организовать список объектов и сортировку списка. Данные списка вводятся с клавиатуры, после каждого элемента идет запрос на ввод следующего элемента или завершение ввода. При сортировке элементы списка остаются в оперативной памяти на «своих местах», меняются только значения указателей, связывающие элементы. Вывести на экран список до... подробнее

Показать сообщение отдельно
Mishania
77 / 77 / 33
Регистрация: 26.09.2012
Сообщений: 341
14.11.2013, 15:13     Ошибки в программе
Здравствуйте, уважаемые программисты. Помогите, пожалуйста, исправить ошибки в программе:

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
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
char x[255];
 
char h[255];
 
struct stack
{
char chis;
struct stack*next;
 
};
struct stack *p = NULL, *top = NULL;
 
void push(char chis)
{
p=(stack*) malloc(sizeof(stack));
p->chis=chis;
p->next=top;
top=p;
}
char pop()
{
char a;
stack *p;
p=top;
top=top->next;
a=p->chis;
 
free(p);
return a;
}
 
int priority(char ch)
{
 
switch(ch)
{
case '(' :return 0;
case ')' :return 1;
case '+' :return 2;
case '-' :return 2;
case '/' :return 3;
case '*' :return 3;
 
break;
 
}
 
}
 
int empty()
{
if (top == NULL)
return 1;
else
return 0;
}
 
void perebros()
{
int i,y = 0,slen = strlen(x);
 
for (i = 0; i<slen; i++)
{
if (((x[i] >= '0') && (x[i] <= '9')) || ((x[i] >= 'a') && (x[i] <= 'z')))
{ 
h[y] = x[i];
y++;
}
else
{
if (x[i] == '(')
{
push(x[i]);
 
}
 
if (x[i] == ')')
{
 
while(top->chis!='(')
{
h[y] = pop();
y++;
 
if (top->chis == '(')
{
pop();
break;
}
}
continue;
}
 
 
if (((empty() == 1)) || (priority(x[i]) > priority(top->chis)))
push(x[i]);
 
else
{
 
if ((empty() == 0) && (priority(x[i]) <= priority(top->chis)))
 
{
while ((empty() == 0) && (priority(top->chis) >= priority(x[i])))
{
h[y] = pop();
y++;
}
push(x[i]);
}
 
else
{
if (empty() == 1)
push(x[i]);
}
}
}
}
 
while ((empty() == 0) && (top->next != NULL))
{
h[y] = pop();
y++;
}
h[y] = pop();
 
int main()
{
 
 
printf("vvedite simvoli ");
scanf("%c",&x);
perebros();
 
printf("%c\n",strlen(x));
printf("%c\n",h);
 
return 0;
}
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru