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

Парсер массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Откорректировать программу http://www.cyberforum.ru/cpp-beginners/thread218114.html
Пожалуйста, переделайте программу, чтобы использовалась адресная арифметика , как я понял работа с указателями(*) Вот сам код: #include <stdio.h> #include <conio.h> #include <locale.h> void main() {
C++ удаление файлов по маске необходимо удалить все *.txt файлы из директории D:\\ я нашел в инете код но у меня он не запускается может кто скажет что не так #include <windows.h> #include <iostream.h> void main() { //program deletes all files with mask 'filemask' from 'dirname' directory http://www.cyberforum.ru/cpp-beginners/thread218113.html
C++ Сортировка четных/нечетных элементов массива
В одномерном массиве состоящем из n вещественных элементов вычислить 1)... 2)... 3)упорядочить по возрастанию отдельно элементы стоящие на четных,отдельно на нечетных местах вот такая программа.. первый 2 пункта вроде сделал,а сортировку осилить не могу:(
создание html C++
народ подскажите пожалуесто как создать с помощью borland c++ html докумен со следующим текстом (код с++ не нужно вводить в html т.е что выведет на экран программа то и нужно поместить в документ) #include <string.h> #include <conio.h> #include <iostream> int main() { char title; char key; char opi; printf("vvedite title, klu4eviki,opisanie ");
C++ Подсчет количества символов http://www.cyberforum.ru/cpp-beginners/thread218096.html
Доброго времени суток всем! помогите,пожалуйста,решить задачу: Программа должна подсчитывать количество символов в заданном текстовом файле input.txt Вроде бы есть схожие по условию задания,но я не знаю,как сделать свою задачку =( ну и было бы совсем здорово, если бы вы могли помочь в составлении блок-схемы к этой задаче.. Заранее огромнейшее спасибо!!
C++ строка задом на перед задание : . Напишите функцию, создающую новую строку, в которой все слова из старой строки следуют в обратном порядке и разделены одним знаком пробела. функция: void reverse (char *str1,char *signs) {int i,n,a,b; char *str2,*tmp; str2=(char*)calloc(strlen(str1)+1,1); // b=strlen(str1)-1; do {tmp=(char*)calloc(strlen(str1),1); for(i=b;i>=0;i--) { подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
23.12.2010, 13:31     Парсер массива
Цитата Сообщение от lemegeton Посмотреть сообщение
Это решение, похоже, исходную строку модифицирует.
Вот без модификации исходной строки (также немного подправил условие в строке 41):
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define BUFFSIZE 80
#define MAXNUMCNT 20
 
int* getNumbers(const char*, int*, size_t, size_t*);
 
int main()
{
    char buf[BUFFSIZE + 1];
    int  nums[MAXNUMCNT];
    size_t cnt, i;
    puts("Введите строку чисел");
    fgets(buf, BUFFSIZE, stdin);
    getNumbers(buf, nums, MAXNUMCNT, &cnt);
    for(i = 0; i < cnt; ++i)
    printf("nums[%02u] = %d\n", i + 1, nums[i]); 
    return 0;
}
 
/* Функция будет разбирать строку str и разбивать ее на числа
 * которые будут храниться в массиве numbers, но не больше, чем
 * size чисел. Если указатель cnt не указывает на NULL, то в нем
 * возвращается количество распарсенных чисел
 * Строка уже не разрушается
 */ 
int* getNumbers(const char* str, int* numbers, size_t size, size_t* cnt)
{
    char* _str;
    if((_str = strdup(str)) == NULL)
    {
        perror("strdup");
        exit(1);
    }
    size_t n = 0;
    char *p = _str;
    char *q = _str;
        
    while(*q && (n < size))
    {
        if(*q == '|')
        {
            *q++ = '\0';
            numbers[n++] = atoi(p);
            p = q;
        }
        else
             ++q;
    }
        
    if(n < size)
        numbers[n++] = atoi(p);
        
    if(cnt)
        *cnt = n;
               
    free(_str); 
    return numbers;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru