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

Снова списки. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти количество столбцов, похожих на последний столбец данной матрицы. http://www.cyberforum.ru/cpp-beginners/thread380031.html
Matrix37. Дана целочисленная матрица размера M × N, элементы которой могут принимать значения от 0 до 100. Различные столбцы матрицы назовем по- хожими, если совпадают множества чисел, встречающихся в этих столб- цах. Найти количество столбцов, похожих на последний столбец данной матрицы.
C++ Найти сумму элементов массива, расположенных до последнего положительного элемента В одномерной массиве из N вещественных элементов, вычислить: 1)максимальный элемент массива и его позицию(номер) (Это я сделал и все работает). 2)Сумму элементов массива, расположенный до последнего положительного элемента. Если будет не трудно ,то напишите и 1 пункт(что бы посмотреть какой еще способ есть для этого решения).. П.С. знакомлюсь с с++. http://www.cyberforum.ru/cpp-beginners/thread380027.html
C++ Matrix25. Дана матрица размера M × N.
Matrix25. Дана матрица размера M × N. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы.
есть числа нужно их заменить на другие числа из таблицы!! C++
Задача: есть у меня 16-е числа нужно нужно их заменить на другие 16-е числа из таблицы! таблица строиться по строкам "Х" от 0 до F и по столбцам "У" от 0 до F! пример: есть число "0х19" берем строку "Х" где "1" и потом берем столбец "У" где есть "9" и в пересечении, то есть где "1" и "9" будет пересечения в что у нас по умолчанию задано число припустим оно "0хD4" пример таблицыя я покажу...
C++ Программа, угадывающая число http://www.cyberforum.ru/cpp-beginners/thread379989.html
Здравствуйте. Решаю задачку из книги Страуструпа: "Напишите программу, угадывающую число. Пользователь должен задумать число от 1 до 100, a программа должна задавать вопросы, чтобы выяснить, какое число он задумал (например, 'Задуманное число меньше 50'). Ваша программа должна уметь идентифицировать число после не более семи попыток. Подсказка: используйте операторы < и =, a также конструкцию...
C++ Робота с файлами. C++ .Пользователь читает файл и меняет его(редактирует)он сохраняеца в другом файле и наоборот(типа слово "ПАПА" должно сохранить как"АПАП"!!!! Помогите срочно нужно! подробнее

Показать сообщение отдельно
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
08.11.2011, 20:37     Снова списки.
Здравствуйте!!! Мне нужно сделать функцию, которая проверяет..если есть левая скобка и парная ей правая, то их обе нужно заменить на пробелы. Если нету парных, то список так и вывести. Из чаровского массива строка(символы) переносятся в список. Чаровский массив называется Form...там в цикле все переносится..строка, то есть.
Вот что я написал...но выводит неправильно.
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
// Списки и структуры.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include "H1.h"
using namespace std;
 
/*
struct Node
{
    char a;
    int d;
    Node *next;
    Node *prev;
 
};
 
Node * first(char a);
void add(Node **pend, char a);
Node * find(Node * const pbeg, int i);
bool remove(Node **pbeg, Node **pend, int key);
Node * incert(Node * const pbeg, Node **pend, int key, char a);
*/
 
int _tmain(int argc, _TCHAR* argv[])
{
    Node *pbeg = first('a'); // Формирование первого элемента списка
    Node *pend = pbeg; // Список заканчивается, едва начавшись
    // Добавление в конец списка четырех элементов 2, 3. 4. и 5:
    int size;
    int ind;
    int scob=0;
    char Form[]={"bcd))"};
    size=strlen(Form);
    for (int i = 0; i<size; i++)
    {
        add(&pend,Form[i]);
        if (Form[i]=='(')
        {               
            scob++;
            ind=i;
            
        }
        if (Form[i]==')')
        {
            scob--;
            ind=i;
        }   
    }
    Node *pv = pbeg;
    Node *pk;       
    //((pv->next)->a)!=')'
    
    bool flag=true;
    while (flag)
    {
        //flag=false;
        while (true)
        {
            
            if(pv->a=='(')
            {
                pk=pv;
                while (pk)
                {
                    pk=pk->next;
                    if (pk->a==')')
                    {
                        pv->a=' ';
                        pk->a=' ';
                        flag=false;
                        break;
                        
                    }
                    //flag=false;
                    //break;
                }               
                flag=false;
                break;
            }
            if (pv->a==')')
            {
                flag=false;
                break;
            }
            pv=pv->next;
            /*if(pv->a==')')
            {
                flag=true;
                break;
 
            }*/
        }
        
    }
 
 
    while (pv)
    {   
        // вывод списка на экран
        cout << pv->a;
        pv = pv->next;
 
    }
    
    cout <<endl;
    
 
    //incert(pbeg, &pend, 'c', 'p');
    // Удаление элемента 5
    //if(!remove (&pbeg, &pend, Form[3]))cout << "не найден";
    // Вставка элемента 200 гюсле элемента 2:
    
    /*
    if (scob> 0)
           cout << "( bigger"<<ind<<endl;
    else if (scob< 0) 
           cout << ") bigger"<<ind<<endl;
    else if (scob == 0) cout << "Good";
    */
 
    return 0;
}
Сам список вот где я проверяю
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
bool flag=true;
    while (flag)
    {
        //flag=false;
        while (true)
        {
            
            if(pv->a=='(')
            {
                pk=pv;
                while (pk)
                {
                    pk=pk->next;
                    if (pk->a==')')
                    {
                        pv->a=' ';
                        pk->a=' ';
                        flag=false;
                        break;
                        
                    }
                    //flag=false;
                    //break;
                }               
                flag=false;
                break;
            }
            if (pv->a==')')
            {
                flag=false;
                break;
            }
            pv=pv->next;
            /*if(pv->a==')')
            {
                flag=true;
                break;
 
            }*/
        }
        
    }
 
 
    while (pv)
    {   
        // вывод списка на экран
        cout << pv->a;
        pv = pv->next;
 
    }
Добавлено через 6 минут
Пожалуйста помогите...мне завтра сдавать! Спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru