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

Укажите путь заблудшему - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ в проекте - надо в проекте win32api вынести все в другой *cpp* а не получаеться http://www.cyberforum.ru/cpp-beginners/thread770505.html
определил функцию в другом спп и в основном ругается компилятор
C++ Определить треугольники минимальной и максимальной площади Известны длины отрезков a, b, c и d. Определить треугольники минимальной и максимальной площади, которые можно построить из этих отрезков. http://www.cyberforum.ru/cpp-beginners/thread770485.html
C++ Определить, пересекаются ли парабола и прямая
Определите, пересекаются ли парабола у=cx2+dx+f и прямая y=ax+b. При положительном ответе найти точки пересечения.
составить программу,которая создает файл, состоящий из 10 значений типа int. прочитать файл и вычислить сумму его элементов C++
составить программу,которая создает файл, состоящий из 10 значений типа int. прочитать файл и вычислить сумму его элементов
C++ Определить месторасположение точки в декартовой системе координат http://www.cyberforum.ru/cpp-beginners/thread770450.html
Задана точка M с координатами (x,y). Определить месторасположение этой точки в декартовой системе координат (является ли эта точка началом координат, лежит на одной из координатных осей или расположена в одном из координатных углов).
C++ Одномерный массив 10 символов.упорядочить по убыванию С клавы вводится одномерный массив длинной 10 символов.Упорядочить массив по убыванию. подробнее

Показать сообщение отдельно
_Alexander
12 / 12 / 1
Регистрация: 05.11.2012
Сообщений: 49
24.01.2013, 13:30     Укажите путь заблудшему
Есть строка вида "Alex Johnson|1234678901\nBill Gates|548161198\n" - т.е. "<Абонент>|<номер телефона>\n...".
Написал функцию которая принимает в качестве параметра эту строку и возвращает массив структур:
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
...
struct Abonent
{
    char name[256];
    char number[15];
};
...
 
Abonent * Parse(char * data)
    {
        Abonent * temp;
        int count = 0;
        for(int i=0;i<strlen(data);i++)// подсчет количества абонентов
            if(data[i] == '\n')
                count++;
        temp = new Abonent[count];// выделение памяти под возвращаемый массив
        int index = 0;
        int c = 0;
        for(int i = 0; i<strlen(data);i++)
        {
            if((data[i]>='a'&&data[i]<='z')||(data[i]>='A'&&data[i]<='Z')||data[i] == ' ')
            {
                temp[index].name[c] = data[i];
                c++;
            }
            
            if(data[i]>='0'&&data[i]<='9')
            {
                temp[index].number[c] = data[i];
                c++;
            }
            
            if(data[i] == '\n')
            {
                temp[index].number[c] = '\0';
                index++;
                c=0;
            }
            if(data[i] == '|')
            {
                temp[index].name[c] = '\0';
                c=0;
            }
        }
       return temp;
    }
          void main()
          {
                       Abonent * b = Parse(Read());//здесь функция char * Read() выполняет чтение из файла
                int i=0;
                while((b+i) == NULL)
               {
                    cout<<"Name: "<<(b+i)->name<<" phone: "<<(b+i)->number<<endl;
                    i++;
               }
 
          }
вопрос следующий: как правильно удалить массив b
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru