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

ANSI C - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработать консольное приложение http://www.cyberforum.ru/cpp-beginners/thread94149.html
Условие: Разработать консольное приложение для управления программными проектами Вся информация приложения хранится в трех файлах: – работники (идентификатор работника; фамилия; специальность;...
C++ Не могу передать массив в функцию Ситуация следующая: Хочу сделать функцию для умножения матриц А и В. Т.е. чтобы параметрами функции были два массива А и В 3х3, а возвращался бы массив С 3х3 . Вопрос: Как передать в функцию... http://www.cyberforum.ru/cpp-beginners/thread94117.html
Массив по спирали C++
Помогите, пожалуйста, заполнить массив по спирали, начиная от середины по часовой стрелке: 9 2 3 8 1 4 7 6 5
C++ Разделить, считываемые из txt, строки точками
Задача такая: Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово. Как я понимаю, суть программы в том, чтобы...
C++ Среди цифр введенной строки распечатать ту, которая появлялась чаще других http://www.cyberforum.ru/cpp-beginners/thread94054.html
помогите кто нибудь а то комп не работает, и какую книгу по си можно взять чтобы было написано простым языком 1..Среди цифр введенной строки распечатать ту, которая появлялась чаще других. Если...
C++ Вывести К-ый элемент последовательности. Есть последовательность 12345678910.... нужно вывести к-ый элемент. Например если ввожу 11,то выводит 0. Алгоритм вроде придумал, записать в массив типа сначала 1,2,3,4,5,6,7,8,9,... подробнее

Показать сообщение отдельно
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
14.02.2010, 05:16
обновил чуть-чуть

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
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct node {
    char *p;
    struct node *next;
};
 
struct stack {
    struct node *head;
};
 
void CreateStack(struct stack *ps);
int PushStack(struct stack *ps, struct node *pn);
int PopStack(struct stack *ps, struct node *pn);
 
void ReverseLine(char *l);
char *DupLine(const char *l);
 
enum {
    MAXLINE = 1000 /* == int */
};
 
int main(void) /* C89 ANSI */
{
    char line[MAXLINE];
    int c, i;
    
    struct stack s;
    struct node n;
    
    CreateStack(&s);
    
    i = 0;
    
    do {
    
        if ((c = getchar()) != EOF)
            line[i++] = c;
    
        if (i >= sizeof line - 1 || (c == EOF && i > 0)) {
            line[i] = '\0';
            n.p = DupLine(line);
            ReverseLine(n.p);
            if(PushStack(&s, &n) == 0) {
                fprintf(stderr, "error: not enough memory" "\n");
                exit(EXIT_FAILURE);
            }    
            i = 0;
        }
    
    } while (c != EOF);
        
    while (PopStack(&s, &n) != 0) {
        printf("%s", n.p);
        free(n.p);
    }    
    
    exit(EXIT_SUCCESS);
}
 
void ReverseLine(char *l)
{
    int c;
    char *end;
    
    end = l+strlen(l)-1;
    for ( ; l < end; l++, end--) {
        c = *l;
        *l = *end;
        *end = c;
    }
}
 
char *DupLine(const char *l)
{
    char *p;
    
    p = (char *) malloc(strlen(l)+1);
    
    if (p != NULL);
        strcpy(p, l);
    
    return p;
}
 
/* CreateStack:  creates a clear stack ps */
void CreateStack(struct stack *ps)
{
    ps->head = NULL;
}
 
/* PushStack:  pushes to a stack ps a node pn;
               returns 1 or 0 */
int PushStack(struct stack *ps, struct node *pn)
{
    struct node *tmp;
    
    tmp = (struct node *) malloc(sizeof(struct node));
    
    if (tmp == NULL)
        return 0;
    
    *tmp = *pn;
    tmp->next = ps->head;
    ps->head = tmp;
    
    return 1;
}
 
/* PopStack:  pops from a stack ps a node pn;
              returns 1 or 0 */
int PopStack(struct stack *ps, struct node *pn)
{
    struct node *tmp;
    
    if (ps->head == NULL)
        return 0;
    
    tmp = ps->head;
    *pn = *tmp;
    ps->head = tmp->next;    
    free(tmp);
    
    return 1;
}


Добавлено через 49 секунд
текстовые файлы нормально преобразует, а mp3, pdf обрывает

Добавлено через 4 минуты
Цитата Сообщение от Andrianka
C
1
scanf("%s", sometext);
прочитает до первого пробела

"Произвольно длинный" == лимитированный только емкостью памяти
в int'е помещается два гигабайта, в современном, в несовременном вообще 32 килобайта
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru