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

Регулярные циклы в С/С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ матрица 6 на 8 http://www.cyberforum.ru/cpp-beginners/thread107981.html
Дана матрица 6х8 символьного типа. Создать другой массив, содержащий элементы исходного массива, не являющиеся цифрами или латинскими буквами. Перегрузить написанные функции для работы с переменными различных типов (где это возможно). кто может написать прогу, очень надо плз ))
C++ что нужно качать для программирования для с++ помогите купил книгу по с++ но не знаю что нужно качать для программирования для с++ !!!!!!!!!!!!!! http://www.cyberforum.ru/cpp-beginners/thread107979.html
C++ калькулятор
дайте текст калькулятора!!!!!!!!!!!!!!!!!!!!!!!!!!
скрытие информации в аудио файлах формата WAV C++
Как реализовать скрытие информации в аудио файлах формата WAV??? может у кого-то есть какие-то примеры????
C++ срочно нужно зделать лабу к завтрашнему утру http://www.cyberforum.ru/cpp-beginners/thread107963.html
срочно нужно зделать лабу а у меня не получаетса. помогите пожалуйста вот условие
C++ Указатели и память Народ как указателю присвоить определённый адрес? P.S. Цитирую задание "Пользуясь указателями выдать на печать адреса этих символов и определить, !какой символ хранится по адресу FFDB!." подробнее

Показать сообщение отдельно
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
23.03.2010, 21:40     Регулярные циклы в С/С++
Я не любитель потеть над алгоритмами, поэтому, такой изощренный и сложный тебе
для понимания вариант решения.
Просто вечером не очень хорошо думается.
Завтра что - нибудь по проще будет.
Этот пример тебе пригодится для дальнейшего изучения 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
#include <iostream.h>
//Описание узла стека:
struct Node {
int n_str;
Node *pnext;
};
 
//----------------------------------------------------------------------
int push(Node **top, int index); //положить на вершину стека
int pop(Node **top);             //выборка  из стека
int print(Node *top);            //показать значения стека
int Update(Node **top);          //полное освобождение памяти из под стека.
//----------------------------------------------------------------------
 
int main() {
const int SIZE = 10;
int A[SIZE] = {1 , 2, -5 , 3 , 5 , -7 , 7 ,3 ,1 };
Node *top_Ot = NULL;  
Node *top_Pol = NULL; 
 
             int Pol[SIZE] = {0};
 
              int iter = 0;
              while(iter<SIZE){
 
              if(A[iter]>=0)push(&top_Pol,A[iter]);
              if(A[iter]<0)push(&top_Ot,A[iter]);
              iter++;
              }
 
for(int i = 0;top_Pol;i++)Pol[i] = pop(&top_Pol);
for(;top_Ot;i++)          Pol[i] = pop(&top_Ot);
 
for( int p = 0 ; p <SIZE ; p++ ) cout<<Pol[p]<<' ';
cout<<"\n";
 
 
 
     return 0;
}
 
int push(Node **top, int index){
//Если формируем первый элемент.
if((*top)==NULL){
Node * pv = new Node ;
pv->n_str = index;
pv->pnext = NULL;
(*top)=pv;
return 0;
}
 
//Иначе добавляем на вершину.
else {            
Node * pv = new Node ;
pv->n_str = index;
pv->pnext = (*top);
(*top)= pv;
return 0;
}
 
return 0;
 
 
}
 
 
//выборка  из стека
int pop(Node **top){
Node *tmp = (*top);
if(tmp){
int str = tmp->n_str;
(*top)=(*top)->pnext;
delete tmp;
return str;
}
 
return 0;
}
 
//показать значения стека
int print(Node *top){   
while(top){
cout<<"Number_str "<<top->n_str<<'\n';
top = top->pnext;
}
cout<<'\n';
return 0;
}
int Update(Node **top){ 
    while((*top)){
    pop(top);
}
    
    return 0; 
}
Ещё раз извиняюсь за сложность.

Добавлено через 4 минуты
Поменяй :
C++
1
2
for(int i = 0;top_Pol;i++)Pol[i] = pop(&top_Pol);
for(;top_Ot;i++)          Pol[i] = pop(&top_Ot);
на это:
C++
1
2
3
int i;
for( i = 0;top_Pol;i++)Pol[i] = pop(&top_Pol);
for(;top_Ot;i++)          Pol[i] = pop(&top_Ot);
 
Текущее время: 03:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru