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

char_t и как он связан с оперативкой? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функции http://www.cyberforum.ru/cpp-beginners/thread228550.html
почему не сортирует, кто может взглянуть ( без динамических массивов сортирует) ? struct a { int r; } *c; void sort ( a *, int ); void sort ( a *b, int n )
C++ Делегирование Привет!! у меня скоро экзамен по ООП, нужна небольшая консультация профессионалов по темам Делегирование и Прототипы (нигде не могу найти толковых статей на эти темы), желательно на примерах языка С++.. Заранее спасибо за помощь! http://www.cyberforum.ru/cpp-beginners/thread228513.html
C++ Как переделать программу
была программа #include <iostream> using namespace std; class STROKA { char *str; int n; public: STROKA(char *str1=""); ~STROKA();
C++ числа Армстронга, найти ошибку в программе
Задание следующее: Найти числа Армстронга до опр. числа, введенного пользователем. (Числа Армстронга - числа с количеством цифр n, сумма цифр возведенных в n степень которых равна самому числу. Например 153 - число Армстронга, т.к. 1³ + 5³ + 3³ = 153) int main() { setlocale(LC_ALL,"rus"); double massiv; int step=0; int m=1; int glav=0; int glav1=0; int n=0; cout<<"Введите...
C++ Упаковка http://www.cyberforum.ru/cpp-beginners/thread228479.html
Решить задачу упаковки, если числа массива могут принимать следующие значения: 0, 1, 2, 3; Пусть по условию задачи известно, что числа массива находятся в диапазоне от 0 до 3, т. е. каждое число занимает 2 бита. Надо обработать 24 таких чисел. Нет типа данных для хранения двух битов. В каждом элементе массива типа unsigned short размером два байта (16 битов) можно разместить 16/2=8 чисел из...
C++ Посмотрите код Всем доброго времени суток. Вот написал програмку, которая считает сумму элементов массива. Помогите написать её через svitch.Заранее спасибо. #include <iostream> #include <conio.h> using namespace std; int main() { int i,j,n,p=1; cout<<"n="; подробнее

Показать сообщение отдельно
МИШЛЯНДИЯ
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 12

char_t и как он связан с оперативкой? - C++

13.01.2011, 22:29. Просмотров 392. Ответов 6
Метки (Все метки)

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
#include <stdio.h>
#include <stdlib.h>
 
struct stack
{
        char data;
        struct stack* next;
};
 
struct stack* push(struct stack*, char);
char pop(struct stack**);
void del(struct stack**);
 
char openingP(char);
int checkP(const char*);
 
int main(int argc, char** argv)
{
        if(argc == 1)
        {
                fprintf(stderr, "Использование: %s Выражение...\n", argv[0]);
                exit(1);
        }
 
for(size_t i = 1; i < argc; ++i)
                printf("Расстановка скобок в выражении \'%s\': %s\n",
                                argv[i], (checkP(argv[i]) ? "правильная" : "неправильная"));
 
exit(0);
}
 
struct stack* push(struct stack* stk, char c)
{
        struct stack* newNode;
        if(!(newNode = (struct stack*) malloc(sizeof(struct stack))))
        {
                fprintf(stderr, "malloc: не удалось выделить память под узел стека\n");
                exit(2);
        }
        newNode->data = c;
        newNode->next = stk;
        return newNode;
}
 
char pop(struct stack** stk)
{
        if(!stk)
        {
                fprintf(stderr, "pop: стек уже пуст\n");
                exit(3);
        }
        char retVal = (*stk)->data;
        struct stack* delNode = *stk;
        *stk = (*stk)->next;
        free(delNode);
        return retVal;
}
 
void del(struct stack** stk)
{
        while(*stk)
        {
                struct stack* delNode = *stk;
                *stk = (*stk)->next;
                free(delNode);
        }
}
 
char openingP(char c)
{
        switch(c)
        {
        case '}':
                return '{';
        case ')':
                return '(';
        case '>':
                return '<';
        }
        return 0;
}
 
int checkP(const char* str)
{
        struct stack* stk = NULL;
        while(*str)
        {
                if((*str == '{') || (*str == '(') || (*str == '<'))
                        stk = push(stk, *str++);
                else if((*str == '}') || (*str == ')') || (*str == '>'))
                {
                        char o = openingP(*str++);
 
if(stk == NULL)
                                return 0;
                        else if(pop(&stk) != o)
                        {
                                del(&stk);
                                return 0;
                        }
                }
                else
                        ++str;
        }
        if(stk != NULL)
        {
                del(&stk);
                return 0;
        }
        return 1;
}


строка 25

for(size_t i = 1; i < argc; ++i)

при компиляции выдает ошибку с системой типов в данной строке. а именно size_t

как можно избежать ошибки?



и еще вопрос: как вообще связана разрядность(32-бит 64-бит) с программированием??
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru