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

Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Компьютерный каталог домашней библиотеки http://www.cyberforum.ru/cpp-beginners/thread402332.html
Помогите плиз с курсовой Компьютерный каталог домашней библиотеки. В программе реализовать ввод новых данных, поиск за задаными параметрами, удаление, просмотр, изменение отдельных записей. Если есть у кого исходник поделитесь, буду очень благодарен.
C++ Вывести текст в виде таблицы подскажите пожалуйста как сделать таблицу! это моя шапка таблицы void baza::output_izdelie() { cout<<" -----------------------------------------------------------------------------"<<endl; cout<<" |Nazvanie Izdeliya|Kod izdeliya|Proba izdeliya|Razmer izdeliya|Cena izdeliya|"<<endl; cout<<" -----------------------------------------------------------------------------"<<endl; ... http://www.cyberforum.ru/cpp-beginners/thread402320.html
Работа sscanf C++
Мне нужно распарсить файл с такими строками: Element1\tElement2\tElement3\tElement4\tElement5\n Element1\tElement2\tElement3\tElement4\tElement5\n Element1\tElement2\tElement3\tElement4\tElement5\n планировал сделать так: 1. считать строку из файла в буфер (fgets) 2. распарсить строку по другим буферам (sscanf)
C++ Занача. Структуры
Горная вершина представлена названием, высотой в метрах, уровнем сложности восхождения на вершину. Среди некоторого кол-ва вершин отобрать вершины с высотой, не меньшей К м. Выбранные вершины отсортировать по возрастанию уровня сложности восхождения. Если нужных нет - вывести сообщение.(Реализовать через структуры).
C++ русский язык http://www.cyberforum.ru/cpp-beginners/thread402301.html
Помогите пишу задачу,как сделать чтоб всё выводило на русском языке? какая функция? или фрагмент кода? cout<<"Dobavlenie informacii ob Clente"<<endl; если пишу cout<<"Добавление информации об клиенте "<<endl; выдаёт иероглифы(((
C++ Избитая тема "Односвязный список" Доброго времени суток. Конечно, я понимаю, что данная тема уже не однократно обсуждалась на этом форуме. Но сложилась такая ситуация, которая не как не укладывается у меня в голове. Наверное, из-за не достатка знаний. Вот код. #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> struct ZNAK{ подробнее

Показать сообщение отдельно
irina3456
1 / 1 / 0
Регистрация: 23.05.2011
Сообщений: 91
09.12.2011, 07:32     Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами
Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами
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
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <windows.h>
#define sz 5
 
using namespace std;
 
struct CH
{
  int k;
  CH *ptr;
};
 
CH * aadd_stek( CH *,int);
CH * del_stek ( CH *);
 
void main()
{
  CH *beg=NULL;
  int a[sz][sz], i,j;
  char c;
  while(1)
  {
    setlocale(LC_ALL, "");
    cout << "\n\n1. Введите элементы массива в cтек\n";
    cout << "2. Выборка элементов из стека\n";
    cout << "3. Выход из программы\n";
    cout << "Ваш выбор:";
    cin >> c;
    switch(c)
    {
      case '1':
          cout << "Введите элементы массива: \n"; 
          for(i=0;i<sz;i++)
              for(j=0;j<sz;j++)
              {
                  cout << "a[" << i << "][" << j << "] = ";
                  cin >> a[i][j];
                  beg=aadd_stek(beg, a[i][j]);
              }
    break;
      case '2':
         for(int i = 0; i < sz*sz/2; ++i)
         {
            cout << "\n";
            beg=del_stek(beg);
            cout << "\t";
            beg=del_stek(beg);
         }
         cout << "\n";
         beg=del_stek(beg); 
    break;
      case '3':
    return;
     }
   }
}
 
CH * aadd_stek( CH *first, int b)
{
  CH *r;
  r = new (CH);
  if ( r == NULL)
  {
    cerr << "Ошибка выделения динамической памяти\n";
    exit(1);
  }
  r->k = b;
  r->ptr = first;
  return r;
}
 
CH * del_stek ( CH *first)
{
  CH *r;
  if (first == NULL)
    cout << "Стек пуст. Выбирать нечего.\n";
  else
  {
    r=first;
    first = first->ptr;  
    cout << r->k;
    delete r;
  }
  return first;
}

Дело в том, что препод говорит такой вывод стека не годится, т.к. массив может быть и 6*6, а может потребоваться и вывести только часть, массива. Короче, надо избавиться от цикла for в 45-ой строке. Но как тогда вывести полученный стек?

Добавлено через 11 часов 15 минут
Как сделать то??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru