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

Однонаправленный список не могу переделать!!! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция сортировки матрицы http://www.cyberforum.ru/cpp-beginners/thread228688.html
Функция сортировки матрицы по убыванию элементов 1 строки
C++ Перевод восьмеричного числа в другие системы счисления Программа для перевода восьмеричного числа в 10, 16 и 2 система счисления http://www.cyberforum.ru/cpp-beginners/thread228687.html
C++ Определить, является ли данный четырехугольник параллелограммом.
"Даны координаты вершин четырехугольника. Определить, является ли данный четырехугольник параллелограммом."
C++ Внешний файл
Нужно, чтобы: 1 программа:Брала числа из внешнего файла 2 программа:Брала матрицу из внешнего файла setlocale(LC_CTYPE,"Russian"); int size; int* m; cout<<"Введите количество чиел:"; cin>>size; m=new int ;
C++ Запись данных в текстовый файл http://www.cyberforum.ru/cpp-beginners/thread228673.html
Здравствуйте , помогите пожалуйста , есть программа которая считает по формулам величину h (компилировал в Visual C++ 2008): #include "stdafx.h" #include <stdio.h> #include "cmath" int main() { double q,q0=37000000000,e=2.71828182845,r0=0.00002; double A=0.5,t=0.00000001,p=7190,c=425,h0=0.00000006, Tn=293,Tm,b=30400000;
C++ Движение вниз, верх (не очень гениальный вопрос) Всем доброго доброго времени суток. Вот я решил поэкспериментировать над движением точки. Извините грубо говоря за тупой вопрос. Разобрался как продвигать налево и направо, стирая предыдущую точку. for (;;point.X++) // направо { SetConsoleCursorPosition(console, point); cout << " *"; подробнее

Показать сообщение отдельно
abd256
8 / 8 / 0
Регистрация: 08.01.2011
Сообщений: 9
14.01.2011, 12:24  [ТС]     Однонаправленный список не могу переделать!!!
еще раз глубоко извеняюсь но немогли бы Вы отредактировать приведенный ниже код все равно выдает ошибки
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
#include <iostream.h>
#include <windows.h>
char NEWT[256];
char*RUS(char*TEXT) {
        CharToOem(TEXT,NEWT);
        return NEWT;}
 
 
struct Node
{
    char item[50];
    Node *next;  // указатель на следующий элемент списка
};
 
    Node *pHead;     // указатель на первый элемент списка
    Node *pPrev;        // указатель на последний элемент списка
        Node *pPred;            //указатель на предыдущий элемент               
    int count;      // количество элементов в списке
    const m=50;
 
    Node* add(char *item[], int index);
    void print();
    Node* find(int index);
int main(void)
 
{int i,n;
char k[m];
Node*PV=new Node;
cout<<RUS("Пустой список создан...")<<endl;
 
{pHead = NULL;
count = 0;}
cout <<RUS("Ввести количество элементов: ")<< endl;
                                cin>>n;
                                cout <<RUS("Ввести элементы списка: ")<< endl;
                                for(i = 0; i < n; i++)
                                {cin>>k;
                                add(k,i);}
print();
return 0;}
 
Node* add(char *item[],int index)
{
    Node *PV = new Node;
        PV->item = item;
        
        if  (pHead == NULL)
        {PV->next = NULL;
          pHead = PV;
          pPred=PV;
          count=1;}
        else 
           
        {pPred=find(index);
        PV->next=pPred->next;
        pPred->next=PV;
        count++;}          
}
void print()
         {      Node *pPV = pHead;
        if (pPV==NULL) cout<<RUS("Список пуст!")<<endl;
    
         while(pPV != NULL)
     {
        cout << pPV->item << " ";
        pPV = pPV->next;
     }
    cout << endl << count << endl;
}
 
 
Node* find(int index) 
{               
        if (index<1) return NULL;
                Node*PV=new Node;
                PV=pHead;
                for (int i=1;i<index;i++)
                        PV=PV->next;
        if (PV==NULL) return NULL;
        return PV;
}
заменил везде на char но выдает следующие ошибки:
1.error C2664: 'add' : cannot convert parameter 1 from 'char [50]' to 'char *[]'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
на строке 38
2.error C2440: '=' : cannot convert from 'char *[]' to 'char [50]'
There are no conversions to array types, although there are conversions to references or pointers to arrays
Error executing cl.exe. на строке 45
некак не могу понять в чем дело вроде у массивов размерность одинаковая но почему не работает???

Добавлено через 27 минут
Все разобрался. Огромное спасибо за помощ!
 
Текущее время: 03:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru