Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
1 / 1 / 2
Регистрация: 23.05.2011
Сообщений: 91

Вывести содержимое очереди на экран двумя столбцами

27.11.2011, 11:16. Показов 3832. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется модифицировать текст программы для реализации самостоятельного задания.
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
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <iomanip>
 
using namespace std;
 
struct CH
{
  int k;
  CH *ptr;
};
 
void aadd_och( CH **, CH **);
void del_och ( CH **, CH **);
 
void main()
{
  CH *pbeg=NULL, *pend=NULL;
  char c;
  while(1)
  {
    setlocale(LC_ALL,"Rus"); // вывод русских букв
    cout << "\n\n1. Добавление элемента в очередь\n";
    cout << "2. Выборка элемента из очереди\n";
    cout << "3. Выход из программы\n";
    cout << "Ваш выбор:";
    cin >> c;
    switch(c)
    {
      case '1':
    aadd_och(&pbeg, &pend);
    break;
      case '2':
    del_och(&pbeg, &pend);
    break;
      case '3':
    return;
     }
   }
}
 
void aadd_och ( CH **pn, CH **pk)
{
  CH *r;
  int m;
  cout << "Введите целое число=";
  cin >> m;
  // выделяем динамическую память
  r = new (CH);
  if ( r == NULL)
  {
    cerr << "Ошибка выделения динамической памяти\n";
    exit(1);
  }
  // заносим в дин. память введенное число
  // и нулевое значение адреса
  r->k = m;
  r->ptr = NULL;
 
  // определяем существуют ли очереди элементы
 
  if (*pn == NULL)
  {
    // очередь пустая
    // значит созданный элемент становится первым и последним
    *pn = r;
    *pk = r;
  }
  else
  {
    // в очереди есть элементы
    // добавляем элемент в конец
 
    (*pk)->ptr = r;
       // в адресное поле элемента, который был
       // последним занесл адрес вновь созданного эл-та
 
    *pk = r;  // вновь созданный элемент стал последним
         // в очереди
   }
}
 
void del_och ( CH **pn, CH **pk)
{
  CH *p;
  if (pn == NULL)
    cout << "Очередь пуста. Выбирать нечего.\n";
  else
  {
    p = *pn;
    cout << "Из очереди выбран эл-т = " << p->k << endl;
    *pn = p->ptr; // 2-ой элемент в очереди стал 1-ым
    delete p;      // удалили первый элемент из очереди
  }
}
Задание - Дан массив a[5][5]. Требуется ввести данные в массив. Все элементы массива записать в очередь, вывести содержимое очереди на экран двумя столбцами.

Допустим,
добавляем в программу ввод массива
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define I 5
#define J 5
void inputmas( float [I][J], char);
void inputmas(float m[I][J], char im)
{
  int i,j;
  cout << "\nВводим массив " << im << "\n";
  for (i=0; i<I; i++)
    for ( j=0; j < J; j++)
    {
      cout << im << " [" << i << " ][ " << j << " ] = ";
      cin >> m[i][j];
    }
}
а куда добавлять ввод массива. Если честно я не понимаю, что значит очередь. После ввода массива, если используется очередь, то что она делает с массивом??
и как вывести в два столбца, если массив 5*5?

Добавлено через 8 часов 38 минут
?????????????

Добавлено через 11 часов 11 минут
Потихоньку сама, итак массив в программе мы вводим следующим образом:
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
124
125
126
127
128
129
130
131
132
133
134
135
136
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#define I 5
#define J 5
 
using namespace std;
 
struct CH
{
  int k;
  CH *ptr;
};
 
void inputmas( float [I][J], char);
void printmas(float [I][J], char);
void aadd_och( CH **, CH **);
void del_och ( CH **, CH **);
 
void main()
{
  float a[5][5];
  inputmas( a, 'a');
  printmas( a, 'a');
  CH *pbeg=NULL, *pend=NULL;
  char c;
  while(1)
  {
    setlocale(LC_ALL,"Rus"); // вывод русских букв
    cout << "\n\n1. Добавление элемента в очередь\n";
    cout << "2. Выборка элемента из очереди\n";
    cout << "3. Выход из программы\n";
    cout << "Ваш выбор:";
    cin >> c;
    switch(c)
    {
      case '1':
    aadd_och(&pbeg, &pend);
    break;
      case '2':
    del_och(&pbeg, &pend);
    break;
      case '3':
    return;
     }
   }
}
 
// функция ввода массива
void inputmas(float m[I][J], char im)
{
  int i,j;
  setlocale(LC_ALL,"Rus");
  cout << "\nВводим массив " << im << "\n";
  for (i=0; i<I; i++)
    for ( j=0; j < J; j++)
    {
      cout << im << " [" << i << " ][ " << j << " ] = ";
      cin >> m[i][j];
    }
}
 
void printmas(float m[I][J], char immas)
{
  int i,j;
  cout.setf( ios::showpoint | ios::fixed);
  setlocale(LC_ALL,"Rus");
  cout << "\nМассив " << immas ;
  for (i=0; i<I; i++)
    {
      cout << "\n";
      for(j=0; j<J; j++)
       {
        cout.width(8);     // минимальное кол-во позиций
        cout.precision(2); // 2 знака после запятой
        cout << m[i][j];
      }
    }  
}
 
void aadd_och ( CH **pn, CH **pk)
{
  CH *r;
  int m;
  cout << "Введите целое число=";
  cin >> m;
  // выделяем динамическую память
  r = new (CH);
  if ( r == NULL)
  {
    cerr << "Ошибка выделения динамической памяти\n";
    exit(1);
  }
  // заносим в дин. память введенное число
  // и нулевое значение адреса
  r->k = m;
  r->ptr = NULL;
 
  // определяем существуют ли очереди элементы
 
  if (*pn == NULL)
  {
    // очередь пустая
    // значит созданный элемент становится первым и последним
    *pn = r;
    *pk = r;
  }
  else
  {
    // в очереди есть элементы
    // добавляем элемент в конец
 
    (*pk)->ptr = r;
       // в адресное поле элемента, который был
       // последним занесл адрес вновь созданного эл-та
 
    *pk = r;  // вновь созданный элемент стал последним
         // в очереди
   }
}
 
void del_och ( CH **pn, CH **pk)
{
  CH *p;
  if (pn == NULL)
    cout << "Очередь пуста. Выбирать нечего.\n";
  else
  {
    p = *pn;
    cout << "Из очереди выбран эл-т = " << p->k << endl;
    *pn = p->ptr; // 2-ой элемент в очереди стал 1-ым
    delete p;      // удалили первый элемент из очереди
  }
}
Добавлено через 10 минут
теперь данные массива попробую записать в очередь.
например,данный массив выглядит так
1.00 2.00 3.00 4.00 5.00
6.00 7.00 9.00 10.00 11.00
.....................................
.....................................
21.00 22.00 23.00 24.00 25.00

то очередь должна выглядить 1 2 3 4 5 6 7 8 9 10 .......... так?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2011, 11:16
Ответы с готовыми решениями:

Вывести содержимое очереди на экран и посчитать количество элементов образованной очереди
Дан текстовый файл. Проанализировать в программе содержимое файла, выберете из него имена и занесите в очередь. Выведете содержимое очереди...

Выведите содержимое очереди на экран и посчитайте количество элементов образованной очереди
Дан текстовый файл. Проанализировав в программе содержимое файла, выберите из него имена и занесите в очередь. Выведите содержимое очереди...

Как вывести количество строк с двумя одинаковыми столбцами?
Добавлено через 6 минут Изменить уже нельзя. Поэтому пишу вторым постом. Нужно вывести максимум.

9
 Аватар для greshnikk
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 11:24
Цитата Сообщение от irina3456 Посмотреть сообщение
очередь должна выглядить 1 2 3 4 5 6 7 8 9 10 .......... так?
Именно так, Ваши рассуждения правильны. Если у Вас есть сомнения по поводу вопроса "Что такое очередь?", можете ознакомиться с этой статьей.

Цитата Сообщение от irina3456 Посмотреть сообщение
как вывести в два столбца, если массив 5*5?
Предлагаю выводить поочередно. Первый элемент в первый столбик, второй в второй, третий опять в первый, затем опять во второй и так далее.

Цитата Сообщение от irina3456 Посмотреть сообщение
После ввода массива, если используется очередь, то что она делает с массивом?
Необходимо преобразовать массив в структуру данных "Очередь".

Обобщая все выше сказанное - у вас есть исходный код, который позволяет использовать очередь. Вам необходимо:
1. Модифицировать код таким образом, чтобы параметры добавления элемента в очередь передавались в функцию, а не запрашивались у пользователя с терминала.
2. Добавить функцию, реализующую вывод очереди на экран.
3. Созданный Вами массив по одному элементу заносить в очередь, используя п.1, а после занесения всех элементов, вывести очередь на терминал, используя п.2
0
1 / 1 / 2
Регистрация: 23.05.2011
Сообщений: 91
27.11.2011, 12:36  [ТС]
а если сделать так
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
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <iomanip>
 
using namespace std;
 
struct CH
{
  int k;
  CH *ptr;
};
 
void aadd_och( CH **, CH **);
void del_och ( CH **, CH **);
 
void main()
{
  CH *pbeg=NULL, *pend=NULL;
  char c;
  while(1)
  {
    setlocale(LC_ALL,"Rus"); // вывод русских букв
    cout << "\n\n1. Добавление элемента в очередь\n";
    cout << "2. Выборка элемента из очереди\n";
    cout << "3. Выход из программы\n";
    cout << "Ваш выбор:";
    cin >> c;
    switch(c)
    {
      case '1':
    aadd_och(&pbeg, &pend);
    break;
      case '2':
    del_och(&pbeg, &pend);
    break;
      case '3':
    return;
     }
   }
}
 
void aadd_och ( CH **pn, CH **pk)
{
  CH *r;
  int a[5][5];
  setlocale(LC_ALL,"Rus");
  cout<<"Ввод массива a:" << endl;
        for(int i=0;i<5;i++)
        {
          for(int j=0;j<5;j++)
            {
               setlocale(LC_ALL,"Rus");
               cout<<"Введите элемент массива a["<<i<<"]["<<j<<"]=";
               cin>>a[i][j];
            }
        }
  setlocale(LC_ALL,"Rus");
  cout<<"Исходный массив a:" << endl;
        for(int i=0;i<5;i++)
        {
                for(int j=0;j<5;j++)
                {
                        cout<<setw(5)<<a[i][j];
                }
                cout<<endl;
        } 
  
  // выделяем динамическую память
  r = new (CH);
  if ( r == NULL)
  {
    cerr << "Ошибка выделения динамической памяти\n";
    exit(1);
  }
  // заносим в дин. память введенное число
  // и нулевое значение адреса
  r->k = a[5][5];
  r->ptr = NULL;
 
  // определяем существуют ли очереди элементы
 
  if (*pn == NULL)
  {
    // очередь пустая
    // значит созданный элемент становится первым и последним
    *pn = r;
    *pk = r;
  }
  else
  {
    // в очереди есть элементы
    // добавляем элемент в конец
 
    (*pk)->ptr = r;
       // в адресное поле элемента, который был
       // последним занесл адрес вновь созданного эл-та
 
    *pk = r;  // вновь созданный элемент стал последним
         // в очереди
   }
}
 
void del_och ( CH **pn, CH **pk)
{
  CH *p;
  if (pn == NULL)
    cout << "Очередь пуста. Выбирать нечего.\n";
  else
  {
    p = *pn;
    cout << "Из очереди выбран эл-т = " << p->k << endl;
    *pn = p->ptr; // 2-ой элемент в очереди стал 1-ым
    delete p;      // удалили первый элемент из очереди
  }
}
только очередь уж очень странная получается

Добавлено через 15 минут
C++
1
2
3
4
5
struct CH
{
  int k;
  CH *ptr;
};
по порядку, это объявили класс CH, где к-место, куда помещается вводимое число, а что такое - CH *ptr; ???
0
 Аватар для greshnikk
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 12:36
Ваше решение очень грубое, к тому же ошибочное. Ошибка состоит в том, что Вам необходимо выделить память под каждый элемент массива. То есть делается это в цикле. Вы же выделили память только под один элемент.
Я предложил Вам очень практичный вариант. Каждая сущность должна отвечать только за свою часть работы. Метод добавления элемента в очередь должен заботиться только о добавлении элемента в очередь. Вы же нагружаете его работой, которая ему не свойственна. Вы говорите что он должен еще и заботится о создании массива и еще о добавлении всего массива в очередь. Это очень не красивый способ программирования. Если Вам интересно, прочитайте по этому поводу эту коротенькую статью.
Я вам составил наиболее приемлемый алгоритм действий. Если Вы все-таки хотите написать по-своему, тогда ошибку я Вам уже разъяснил. Выделять память надо под каждый элемент массива, а не под один.

Цитата Сообщение от irina3456 Посмотреть сообщение
по порядку, это объявили класс CH, где к-место, куда помещается вводимое число, а что такое - CH *ptr; ???
Если после прочтения, рекомендованной мною статьи, Вы не до конца поняли идею очереди, я постараюсь объяснить. Очередь состоит из элементов, кусочков памяти, в данном случае структур. Каждый такой кусочек памяти имеет данные, которые он хранит. Возникает вопрос, а как тогда узнать, в каком участке ОЗУ хранится тот или иной кусочек ? Они ведь разбросаны по всей памяти. Выход следующий - каждая структура будет хранить не только данные, но и указатель, где расположен следующий кусочек. И тогда получается, что зная адрес хвостика, мы сможем добраться до любой структуры, перемещаясь по указателю. То есть мы идем по адресу, который хранится в хвостике (это и есть наш CH* ptr) и приходим на предпоследний элемент. Если в нем пойти по адресу, придем на пред пред последний элемент и так далее.
0
1 / 1 / 2
Регистрация: 23.05.2011
Сообщений: 91
27.11.2011, 13:36  [ТС]
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
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#define I 5
#define J 5
 
using namespace std;
 
struct CH
{
  int k;
  CH *ptr;
};
 
 
void inputmas( int [I][J], char);
void aadd_och( CH **, CH **);
void printochered( int [i][j], char);
 
void main()
{
  int a[5][5];
  
  CH *pbeg=NULL, *pend=NULL;
  char c;
  while(1)
  {
    setlocale(LC_ALL,"Rus"); // вывод русских букв
    cout << "\n\n1. Создание массива \n";
    cout << "2. Запись элементов массива в очередь\n";
    cout << "3. Вывод очереди на экран\n";  
    cout << "4. Выход из программы\n";
    cout << "Ваш выбор:";
    cin >> c;
    switch(c)
    {
      case '1':
    inputmas( a, 'a');
    break;
      case '2':
    aadd_och(&pbeg, &pend);
    break;
      case '3':
    printochered( b, 'b');
        break;
      case '4':
    return;
     }
   }
}
 
 
void inputmas(int m[I][J], char im)
{
int *p;
if (p = new int[i][j])
{
   setlocale(LC_ALL,"Rus");
   cout<<"\nВведите значения элементов массива";
   for (i=0; i<I; i++)
    for ( j=0; j < J; j++)
    {
      cout<<im<<"\n p[" << i << " ][ " << j << " ]=";
      cin>>*(p+i*|+j);
    }
   cout<<"\nВывод значений элементов массива";
   for (i=0; i<I; i++)
    for ( j=0; j < J; j++)
    {
      cout<<im<<" p["<<i<<"]["<<j<<"]="<<*(p+i*|+j);
    }
   else
   cout<<"\nПамять не выделена";
}
 
 
 
void aadd_och ( CH **pn, CH **pk)
а как мне добавлять элементы массива в очередь?
0
 Аватар для greshnikk
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 13:42
Цитата Сообщение от irina3456 Посмотреть сообщение
а как мне добавлять элементы массива в очередь?
Цитата Сообщение от greshnikk Посмотреть сообщение
1. Модифицировать код таким образом, чтобы параметры добавления элемента в очередь передавались в функцию, а не запрашивались у пользователя с терминала.
Когда Вы вызываете функцию aadd_och, она запрашивает у Вас, данные для хранения. Вам необходимо изменить функцию так, чтобы эти данные передавались параметром. К примеру вот так:
C++
1
void aadd_och ( CH **pn, CH **pk, int numberToStore)
0
1 / 1 / 2
Регистрация: 23.05.2011
Сообщений: 91
27.11.2011, 13:52  [ТС]
вы меня заставляете думать))))
спасибо

Добавлено через 2 минуты
допустим я объявлю параметр int numberToMas, тогда какое значение мне ему присваивать??
0
 Аватар для greshnikk
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 13:54
Цитата Сообщение от irina3456 Посмотреть сообщение
вы меня заставляете думать))))
Я надеюсь, что Вам необходимо понять программу и написать ее самой. В противном случае, если Вам нужен только код и все, я Вам ничем не могу помочь.

Цитата Сообщение от irina3456 Посмотреть сообщение
допустим я объявлю параметр int numberToMas, тогда какое значение мне ему присваивать??
Попробую объяснить на примере. Допустим у Вам нужно сохранить число 3 в очереди. Тогда Вы должны вызвать Ваш измененный метод добавления данных в очередь:
C++
1
aadd_och (..., ..., 3)
Теперь пример посложнее, Вам необходимо добавить в очередь массив. Тогда в цикле проходимся по всем элементам массива:
C++
1
2
for (int i = 0; ....)
  aadd_och(..., ..., array[i]);
0
1 / 1 / 2
Регистрация: 23.05.2011
Сообщений: 91
27.11.2011, 13:57  [ТС]
может быть numberToMas=*p, но в этой функции ничего не известно о *p.....
0
 Аватар для greshnikk
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 14:24
Вы читали мое предыдущее сообщение ?
Если все же Вам не понятно, что нужно сделать, постараюсь еще подробнее описать. Для начала опишите для себя на бумаге что такое очередь. Без анализа, написание и отладка кода занимают на порядок больше времени, поверьте мне. Я не один лист бумаги исписываю во время разработки приложений. После того, как Вы четко представите, что такое очередь, словесно опишите (опять таки на бумаге), как бы Вы реализовали этот алгоритм. Не нужно никакого кода. Абстрагируйтесь от языка программирования и опишите только лишь метод в общих чертах. После этого, с пониманием того, для чего нужна очередь и как с ней работать, возьмите изначальный код, который был у Вас в момент создания данной темы. Проанализируйте его. Разберитесь что в нем происходит. Без этого понимания, дальше идти пока что нет смысла.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.11.2011, 14:24
Помогаю со студенческими работами здесь

Заполнить матрицу построчно, вывести на экран столбцами
Помогите пожалуйста, задать матрицу (9 столбиков ,14 строк) , вводимый текст должен заполнять массив построчно,а выводить на экран...

Вывести на экран строки матрицы столбцами, а столбцы строками
Если не решу эти задачи ждет меня смерть мучительная]:-&gt; 1)Дан двумерный массив А(N;N).Найти max элемент главной диагонали и min...

из очереди вывести на экран простые числа
из срандомленных чисел выбрать простые и вывести их на экран #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Вывести на экран простые числа из очереди
Заполнить рандомно очередь, вывести на экран простые числа.

Вывести на экран элементы очереди пользовательского класса
#include &quot;SportAchievent.h&quot; #include &quot;Competitor.h&quot; #include &lt;queue&gt; using namespace std; //підключення простарнства імен int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru