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

ANSI C - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработать консольное приложение http://www.cyberforum.ru/cpp-beginners/thread94149.html
Условие: Разработать консольное приложение для управления программными проектами Вся информация приложения хранится в трех файлах: – работники (идентификатор работника; фамилия; специальность; опыт работы) – проекты (идентификатор проекта; название; описание; стадия проекта) – назначения (идентификатор назначения; идентификатор проекта; идентификатор работника) Приложение должно...
C++ Не могу передать массив в функцию Ситуация следующая: Хочу сделать функцию для умножения матриц А и В. Т.е. чтобы параметрами функции были два массива А и В 3х3, а возвращался бы массив С 3х3 . Вопрос: Как передать в функцию массивы? int pr(?,?) { int i,j,; for(i=0;i<3;i++) for(j=0;j<3;j++) return (A * B + A * B + A * B); 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..Среди цифр введенной строки распечатать ту, которая появлялась чаще других. Если таких цифр было несколько, распечатать ту, что встречалась первой. 2...Распечатать введенную строку, заменив строчные буквы, прописными и повторив дважды каждую цифру.
C++ Вывести К-ый элемент последовательности. Есть последовательность 12345678910.... нужно вывести к-ый элемент. Например если ввожу 11,то выводит 0. Алгоритм вроде придумал, записать в массив типа сначала 1,2,3,4,5,6,7,8,9, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9, 2,0,2,1,2,2,2,3.... подробнее

Показать сообщение отдельно
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.02.2010, 12:53     ANSI C
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
#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);
 
int main(void) /* C89 ANSI */
{
    char line[1000];
    int c, i;
    
    struct stack s;
    struct node n;
    
    CreateStack(&s);
    
    i = 0;
    while ((c = getchar()) != EOF) {
        line[i++] = c;
        if (i >= 1000-1) {
            line[i] = '\0';
            n.p = DupLine(line);
            ReverseLine(n.p);
            PushStack(&s, &n);
            i = 0;
        }
    }
    
    if (c == EOF && i != 0) {
        line[i] = '\0';
        n.p = DupLine(line);
        ReverseLine(n.p);
        PushStack(&s, &n);
    }
    
    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;
}
Добавлено через 46 секунд
это для произвольной длины
 
Текущее время: 23:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru