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

Написать функцию, которая определяет, сколько раз в стеке встречается заданный символ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ IP адрес http://www.cyberforum.ru/cpp-beginners/thread1160056.html
помогите написать программу для определения ip адреса и маску подсети
C++ Сортировка структуры Добрый день, нужна ваша помощь. Имеется программа, в которой вводишь название услуги, тип, стоимость и срок выполнения. Программа делает сортировку по названию(по алфавиту), и выводит отсортированные элементы. Нужно дополнить ее так, чтобы она выводила только те отсортированные названия, чья цена больше, чем средняя, т.е. (sp.stoimost>average_cost), а также сводную статистику о каждом типе... http://www.cyberforum.ru/cpp-beginners/thread1160035.html
Перевести L студентов с 1-й группы в другую (списки) C++
Даны 2 списка, содержащих фамилии студентов 2-х групп. Перевести L студентов с 1-й группы в другую. Число пересчета-К. Для меня списки - тема совсем новая. Прошу Вас помочь! Зарание спасибо.
C++ Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero
Функция: int multiplication(int double_matrix1,int double_matrix2, int m, int n) //тут ошибка { int i,j,k; int rezult_matrix; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { for(k = 0; k < n; k++)
C++ Code::Blocks выдаёт ошибку там где её не должно быть http://www.cyberforum.ru/cpp-beginners/thread1159984.html
Я решил написать простенькую программу по преобразованию градусов Цельсия в градусы Фаренгейта, а CodeBlocks выдаёт ошибку в строках 11 и 12.Что я сделал не так?:help: // Программа для преобразования // градусов Цельсия в градусы Фаренгейта // Fahrenheit = NCelsius * (212 - 32) / 100 + 32 // #include <stdio.h> #include <iostream> int main (int nNumberofArgs, char* pszArgs) {
C++ Задача на рекурсивную функцию С помощью рекурсивной функции составить программу нахождения суммы всех нечетных чисел в диапазоне от 1 до 99 включительно. Вот мой код, но я не знаю, как его исправить. #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <iostream> int SUM(int n, int sum) { if (n<=10) { подробнее

Показать сообщение отдельно
Pavel_2011
1 / 1 / 0
Регистрация: 23.10.2013
Сообщений: 66
28.04.2014, 14:53  [ТС]     Написать функцию, которая определяет, сколько раз в стеке встречается заданный символ
Можно более простым способом?

Добавлено через 2 минуты
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
#include <iostream>
#include <string.h>
using namespace std;
 
struct node {
char info;
node *next;//поле для связи с другим узлом
};
 
node* first(char ch)//начальное формировнаие стека 
{
node* p=new node;//выделение динамической памяти под новый узел
p->next=NULL;//перед первым нет предыдущего узла - на NULL
p->info=ch;
return p;
}
 
void push(node** top, char ch)//добавление элемента в стек
{
node* p=new node;//выделение динамической памяти под новый узел
p->info=ch;
p->next=*top;//связь с предыдущим узлом (вершиной стека)
*top=p;//вершину стека перемещаем на созданный узел
}
 
void clean(node** top)// очитска стека
{
node *temp;
while (*top!=NULL)//пока не досигли конец файла
{
temp=(*top)->next;//устанавливаем указатель temp на след. элемент
delete *top;
*top=temp;//переводим указатель вершины на след. элемент
}
}
 
void print(node* top)//распечатка стека
{
    while (top!=NULL)//пока не достигли конец стека
    {
        cout<<top->info<<endl;
        top=top->next;//перемещаемся к след.узлу
    }
}
bool sogl(char ch){
    char s[]="qwrtypsdfghjklzxcvbnmQWRTYPSDFGHJKLZXCVBNM";
    if (strchr(s,ch)) return true;
    else return false;
}
 
void delnode(node ** top) // удаление узлов с заданным значением d
 { 
  node *temp, *prev;
  temp= *top;//устанавливаем вспомогательный указатель temp на вершину
  prev=*top; // предыдущий узел для текущего 
  while (temp!=NULL)   
  {
    if (sogl(temp->info)) // если нашли узел с заданным значением
    {
      if  (temp==(*top)) // если это вершина стека
       {
         (*top)=temp->next;
         delete temp;
         temp=*top;   }
      else  // если найденный узел не является вершиной
       {
         prev->next=temp->next;
         delete temp;
         temp=prev->next;
       }
    }
   else // если узел не содержал заданного значения
    {
     prev=temp;
     temp=temp->next;
     }
  }
}
 
 
 
 
 
void main(){
setlocale (0,"");
node* top=NULL;
char ch,cn;
cout<<"Введите символ"<<endl;
cin>>ch;
top=first(ch);
do {
cout<<"Введите символ"<<endl;
cin>>ch;
push(&top, ch);
cout<<"Продолжить? (y/n)"<<endl;
cin>>ch;
}while(ch!='n');
cout<<"Стек: "<<endl;
print(top);
delnode(&top);
cout<<"New: "<<endl;
print(top);
cout<<"New: "<<endl;
print(top);
clean(&top);
if (top==NULL) cout<<"Стек очищен";
system ("pause");
}
Добавлено через 37 секунд
это моя программа, но только без этой функции
 
Текущее время: 20:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru