Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для nink1338
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 89

Нужно найти и исправить ошибку

21.02.2020, 11:14. Показов 2396. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот методичка с задачей.
Практическое занятие №2
Практическое занятие №2

Тема: Способы построения структурированных программ

Цель: изучить способы построения структурированных программ
Основные теоретические сведения.

Принцип нисходящего проектирования алгоритмов и программ.

Для создания “хороших” программ необходимо придерживаться определенных правил программирования. В связи с этим представляет интерес рассмотреть новый подход к разработке программ, получившей достаточно широкое распространение в последние годы - структурное программирование.

Идеи структурного программирования были высказаны Э.Дейкстрой еще в 1965 г. Позже им были изложены основные положения структурного программирования в работе “Заметки по структурному программированию”. С тех пор термин “структурное программирование” широко используется, но в разных смыслах и без строгого определения. Структурное программирование - метод программирования, использование которого снижает вероятность ошибок в процессе составления программ, повышает их надежность, эффективность, упрощает понимание, обеспечивает создание программ, структура которых ясна и неразрывно связана со структурой решаемых задач.

Целью структурного программирования - упростить процесс написания правильных программ, обеспечить возможность чтения программы от начала до конца, следуя логике, повысить надежность программ, обеспечить сопровождение и модификацию и ускорить разработку. Структурированные программы можно читать как обычный текст сверху вниз без перерыва, так как они имеют последовательную организацию, т.е. применение метода структурного программирования улучшает ясность и читабельность программ. Принцип нисходящего проектирования алгоритмов и программ иначе называют методом пошаговой детализации.

Нисходящее проектирование программы, когда первоначально программа рассматривается, как совокупность действий, каждое из которых затем детализируется и представляется как последовательность более простых и конкретных действий, вплоть до отдельных операторов языка; такой подход позволяет реализовать наличие двух видов подпрограмм в языке – процедур и функций.
Первоначально продумывается общая структура алгоритма без детальной проработки отдельных его частей, далее прорабатываются отдельные блоки, не детализированные на предыдущем шаге. Таким образом, на каждом шаге разработки уточняется реализация фрагмента алгоритма (или программы) , т.е. решается более простая задача. Полностью закончив детализацию всех блоков, получаем решение задачи в целом.
Если на каждом шаге детализации использовать принципы структурного программирования, то получается хорошая структурированная программа в целом.

Основная идея метода нисходящего проектирования - не пытаться программировать сразу. Пошаговая детализация (программирование "сверху вниз") автоматически заставляет человека формировать понятную ему же структуру программы. После завершение трансляции (также автоматически) формируется первичный набор тестов; каждый тест отлаживает конкретную подзадачу. Аккуратное проектирование обычно приводит к тому, что программист хорошо представляет себе работу каждой конкретной подзадачи, ее входные и выходные данные, и потому в состоянии протестировать именно ее. По окончании тестирования конкретной подзадачи, можно тестировать другие подзадачи независимо(!).Эта независимость дает также возможность тестировать подзадачи по ходу реализации программы, генерируя после трансляции уже первично отлаженный код.

Технология нисходящего проектирования с пошаговой детализацией является неотъемлемой частью создания хорошо структурированных программ. При написании программы с использованием этой технологии вся задача рассматривается как единственное предложение (вершина), выражающее общее назначение программы. Так как вершина редко отображает достаточное количество деталей, на основании которых можно написать программу, то поэтому надо начинать процесс детализации. Вершина разделяется на ряд более мелких задач в том порядке, в котором эти задачи должны выполнятся. В результате получим первую детализацию. Далее каждая из подзадач разбивается на подзадачи, принадлежащие второму уровню детализации. Программист завершает процесс нисходящей разработки с пошаговой детализацией, когда алгоритм настолько детализирован, чтобы его можно было бы преобразовать в программу.

Вывод: пошаговая реализация это тактика разработки программы, а нисходящее проектирование это стратегия программирования.

Цели структурного программирования
  1. Обеспечить дисциплину программирования
  2. Улучшить читабельность программы
  3. Повысить эффективность программы
  4. Повысить надежность программы

ЗАДАЧА

Известно количество посетителей технической выставки за неделю ее работы:
пнВтсрчтптсбвсВСЕГО
1. Старшеклассники1551116141215
2. Студенты20182332183030
3. Молодые специалисты18233019202531
4. Специалисты со стажем24564022203640
ВСЕГО

Определить:
  • сколько посетителей принимала выставка ежедневно;
  • сколько человек каждой возрастной группы посетили выставку;
  • сколько всего было посетителей;
  • в какой день был наименьший наплыв посетителей;
  • посетители какой возрастной группы проявили к выставке наибольший интерес.

МАТЕМАТИЧЕСКАЯ МОДЕЛЬ

Пусть
i - номер возрастной группы, i=1..4;
k - номер дня недели, k=1..7;
P [i,k] - количество посетителей i-ой группы в k -ый день;
SV [i] - количество посетителей i-ой группы за всю неделю;
SD [k] - количество посетителей в k -ый день;
SO - общее количество посетителей;
MV - номер возрастной группы, проявившей наибольший интерес;
MD - номер дня, в который был наименьший наплыв посетителей.
MV = max ( SV [i] ), i = 1..4
MD = min ( SD [k] ), k = 1..7
ПОСЛЕДОВАТЕЛЬНАЯ ФОРМАЛИЗАЦИЯ АЛГОРИТМА


На языке данной задачиНа частично формализованном языке
1. Заполняем таблицу посещения выставки1. Вводим размерность массива и значения элементов массива
2. Подсчитываем общее количество посетителей по каждой возрастной группе2. Для каждой строки подсчитываем сумму ее элементов.
3. Подсчитываем суммарное количество посетителей по каждому дню3. Для каждого столбца подсчитываем сумму его элементов.
4. Подсчитываем общее количество посетителей4. Подсчитываем общую сумму всех элементов
5. Определяем номер возрастной группы, проявившей наибольший интерес5. Определяем номер строки, значение суммы элементов которой максимально
6. Определяем номер дня, наплыв посетителей в который было наименьшим6. Определяем номер столбца, значение суммы элементов которого минимально
7. Выводим полученные результаты на экран дисплея.7. Выводим на экран дисплея полученные номера строки и столбца.

ДЕТАЛИЗАЦИЯ ОТДЕЛЬНЫХ ШАГОВ АЛГОРИТМА И НАПИСАНИЕ ФРАГМЕНТОВ ПРОГРАММЫ (на языке Pascal)
Шаг алгоритма
Соответствующая подпрограмма, реализующая
вспомогательный алгоритм
Заполнение
таблицы
исходных
данных
Procedure VVOD;
begin
For i := 1 to m do
For k := 1 to n do begin
write (‘Bведите кол-во посетителей в ‘, i, ‘-ой группе,’, k, ‘-ого дня:’);
readln( P[ i, k]); } P[ i, k]:= random(50);
end;
end;
Подсчет суммы
элементов i - ой
строки
Procedure SUM_1str;
Begin
SV[i] := 0;
For k:=1 to 7 do SV[i] := SV[i] + P[i,k];
End;
Определение
сумм элементов
для всех строк
Procedure Sum_STR;
Begin
For i := 1 to 4 do SUM_1str;
End;
Подсчет суммы
элементов k-ого
столбца
Procedure SUM_1stl;
Begin
SD[ k] := 0;
For i :=1 to 4 do SD[ k] := SD[ k] + P[i,k];
End;
Подсчет суммы
элементов для
всех столбцов
Procedure Sum_STL;
Begin
For k := 1 to 7 do SUM_1stl;
End;
Определение
номера столбца,
значение суммы
элементов
которого
минимально
Procedure N_MIN_STL;
Begin
MD:=1;
For k:=2 to 7 do if SD[ k] < SD[MD]
then MD := k
End;
Определение
номера строки,
значение суммы
элементов
которой
максимально
Procedure N_MAX_STR;
Begin
MV := 1;
For i :=2 to 4 do if SV [ i] > SV [MV]
then MV := i
End;
Вывод
результатов
Procedure VYVOD;
Begin
Writeln (‘Кол-во посетителей‘ :30,’Всего’ :25);
For i := 1 to m do begin
For k := 1 to n do write( P[i, k] :5 );
Writeln ( SV [ i] :10);
end;
Writeln;
For k := 1 to n do write( SD [ k] :5 );
writeln;
For i:=1 to m do if SV[i] = SV[MV] then writeln (‘Возрастная группа - ’, i );
For k := 1 to n do if SD [k] = SD [MD]then writeln (‘День недели - ’, k);End;

ПРОГРАММА
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program P1 (input, output);
{все описанные переменные и константы - глобальные}
const n=7; m=4;
var     P : array [1..4, 1..7] of integer;
    SV : array [1..4] of integer;
    SD : array [1..7] of integer;
    i,k, MV, MD : byte;
{В разделе описания должны быть записаны все перечисленные в таблице процедуры}
begin
  VVOD;     {Ввод исходных данных}
  Sum_STR;  {Подсчет сумм по возрастным группам} 
  Sum_STL;  {Подсчет сумм по дням}
  N_MIN_STL;    {Определяем номер возрастной группы, проявившей наибольший интерес}
  N_MAX_STR;    {Определяем номер дня, наплыв посетителей в который было наименьшим} 
  VYVOD;        {Вывод исходной таблицы и полученных результатов  на экран дисплея}
   readln; 
end.
БЛОК-СХЕМА
При проектировании блок-схемы алгоритма, содержащего подпрограммы(процедуры или функции), следует составлять укрупненную блок- схему для всей программы и отдельные блок-схемы для каждой процедуры(или функции).

ПРИМЕР УКРУПНЕННОЙ БЛОК-СХЕМЫ для описанной выше задачи:



Ход работы:
  1. Изучить основные теоретические сведения.
  2. Выполнить задачу по образцу.
  3. Ответить на вопросы:
    • В чем состоит принцип нисходящего проектирования алгоритмов и программ?
    • Что называют структурным программированием?
    • В чем цель структурного программирования?
    • Технология нисходящего проектирования

А вот мой код.
Pascal
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
program z1;
const n=7;m=4;
var     P : array [1..4, 1..7] of integer;
    SV : array [1..4] of integer;
    SD : array [1..7] of integer;
    i,k, MV, MD : byte;
Procedure VVOD;
var i,k:byte;
    P : array [1..4, 1..7] of integer;
  begin
For i := 1 to m do
For k := 1 to n do  begin
write ('Bведите кол-во посетителей в ', i, '-ой группе,', k, '-ого дня:'); 
readln( P[ i, k]);    
P[ i, k]:= random(50);   
end; 
end;
 
Procedure SUM_1str;
var SV : array [0..4] of integer;
    P : array [1..4, 1..7] of integer;
    k,i:byte;
  Begin
    SV[i] := 0;
    For k:=1 to 7 do SV[i] := SV[i] + P[i,k];
  End; 
Procedure Sum_STR;
var i:byte;
  Begin
    For  i := 1 to 4 do SUM_1str;
  End;
Procedure SUM_1stl;
var SD : array [1..7] of integer;
    P : array [1..4, 1..7] of integer;
    i,k:byte;
  Begin
    SD[ k] := 0;
    For i :=1 to 4 do SD[ k] := SD[ k] + P[i,k];
  End; 
Procedure Sum_STL;
var k:byte;
  Begin
    For k := 1 to 7 do SUM_1stl;
  End;
Procedure N_MIN_STL;
var SD : array [1..7] of integer;
    i,k,MD : byte;
  Begin
    MD:=1;
    For k:=2  to 7 do   if  SD[ k] < SD[ MD]  
    then  MD := k;
  End;
Procedure N_MAX_STR;
var SV : array [1..4] of integer;
      i,k, MV: byte;
  Begin
    MV := 1;
    For i :=2 to 4  do  if  SV [ i] > SV [MV] 
    then MV := i ;
  End;
Procedure VYVOD;
var P : array [1..4, 1..7] of integer;
      SV : array [1..4] of integer;
      SD : array [1..7] of integer;
      i,k, MV, MD : byte;
  Begin
    Writeln ('Кол-во посетителей' :30,'Всего' :25);
    For i := 1 to m do          begin
    For k := 1 to n do  write( P[i, k] :5 );  
    Writeln ( SV [ i] :10);     end;
    Writeln;
    For k := 1 to n do  write( SD [ k] :5 );
    writeln;
    For i:=1 to m do if SV[i] = SV[MV] then writeln ('Возрастная группа - ', i );
    For k := 1 to n do if SD [k] = SD [MD]  then writeln ('День недели - ', k);
  End;
begin
  VVOD;
  Sum_STR;
  Sum_STL;  
  N_MIN_STL;    
  N_MAX_STR;     
  VYVOD; 
  readln; 
end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.02.2020, 11:14
Ответы с готовыми решениями:

Нужно исправить ошибку
Помогите исправить ошибку Program vosklicateliy_znak; Var C:Char; Indata,Out:Text; Begin ...

Нужно исправить ошибку
Помогите исправить программу: (Вывод не правильный) //5. Âû÷èñëèòü çíà÷åíèå ñóììû è ðàñïå÷àòàòü. ...

Протабулировать функцию, нужно исправить ошибку
Протабулировать функцию y=x^3+x^2 на отрезке с шагом 0,5 и найти количество положительных значений функции var x,y,a,b,h:real; begin ...

5
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.02.2020, 11:42
Pascal
1
2
readln( P[ i, k]);    
P[ i, k]:= random(50);
Так все же вводить число с клавы или присвоить случайное, кстати в методичке та же хрень написана, разберитесь.
0
 Аватар для nink1338
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 89
21.02.2020, 12:38  [ТС]
Оставим это readln( P[ i, k]);
Но ошибку это не исправило
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.02.2020, 13:00
Честно говоря в методичке написано неправильно, а в Вашем коде вообще чушь, поэтому я даже не беду в него лезть. Я бы написал совсем по другому.
0
 Аватар для nink1338
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 89
21.02.2020, 13:10  [ТС]
Было бы не плохо , если бы вы написал код к этой задаче )00)))))0)))
0
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
22.02.2020, 10:59
Лучший ответ Сообщение было отмечено nink1338 как решение

Решение

Pascal
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
program z1;
uses
  CRT;
const
  nmax = 7;
  mmax = 4;
 
type
  TV = array [1..4, 1..7] of integer;
  TSG = array [1..4] of integer;
  TSD = array [1..7] of integer;
 
 
Procedure VVOD(var PP: TV; m,n: byte);
{Процедура для ввода данных в двумерный массив}
var
  i,k: byte;
    Pv: TV;
begin
  For i:= 1 to m do
    For k:= 1 to n do
      begin
       { write ('Bведите кол-во посетителей в ', i, '-ой группе,', k, '-ого дня: ');
         readln( Pv[i,k]); }
        Pv[i,k]:= random(50);
      end;
  PP:= Pv;
end;
 
 
Procedure SumVisitorGroup(PP: TV; m,n: byte; var SSG: TSG);
{Процедура для суммирования посетителей по группам}
var
  SG: TSG;
  k,i: byte;
Begin
  For i:= 1 to m do
    begin
      SG[i]:= 0;
      For k:= 1 to n do
        SG[i]:= SG[i] + PP[i,k];
    end;
  SSG:= SG;
End;
 
 
Procedure SumVisitorDay(PP: TV; m,n: byte; var SSD: TSD);
{Процедура для суммирования посетителей по дням}
var
  SD: TSD;
  k,i: byte;
  Begin
    For k:= 1 to n do
      begin
        SD[k]:= 0;
        For i:= 1 to m do
          SD[k]:= SD[k] + PP[i,k];
      end;
  SSD:= SD;
  End;
 
 
Function CommonSumVisitor(PP: TV; m,n: byte): integer;
{Функция для подсчета общего количества посетителей}
var
  i,k: byte;
  s: integer;
Begin
  s:= 0;
  For i:= 1 to m do
    For k:= 1 to n do
      s:= s + PP[i,k];
  CommonSumVisitor:= s;
End;
 
 
Function NumberMaxVisitorGroup(SSG: TSG; m: byte): integer;
{Функция для нахождения номера группы с наибольшим количеством посетителей}
var
  k, Number: byte;
  Maxvalue: integer;
Begin
  Maxvalue:= SSG[1];
  Number:= 1;
  For k:= 2  to m do
    if  Maxvalue < SSG[k] then
      begin
        Maxvalue:= SSG[k];
        Number:= k
      end;
  NumberMaxVisitorGroup:= Number;
End;
 
 
Function NumberMinVisitorDay(SSD: TSD; n: byte): integer;
{Функция для нахождения номера дня с наименьшим количеством посетителей}
var
  k, Number: byte;
  Minvalue: integer;
Begin
  Minvalue:= SSD[1];
  Number:= 1;
  For k:= 2  to n do
    if  Minvalue > SSD[k] then
      begin
        Minvalue:= SSD[k];
        Number:= k
      end;
  NumberMinVisitorDay:= Number;
End;
 
 
Procedure VYVOD(PP: TV; m,n: integer; SSG: TSG; SSD: TSD);
{Процедура для вывода информации в консоль}
var
  i,k: byte;
 
Begin
  clrscr;
  Writeln ('Группы посетителей' :28,'ПН':5,'ВТ':5,'СР':5,'ЧТ':5,'ПТ':5,'СБ':5,'ВС':5, 'ВСЕГО' :8);
  writeln;
  For i := 1 to m do
    begin
      textcolor(7);
      case i of
      1: write('1.':3, 'Старшеклассники':25);
      2: write('2.':3, 'Студенты':25);
      3: write('3.':3, 'Молодые специалисты':25);
      4: write('4.':3, 'Специалисты со стажем':25);
      end;
      For k := 1 to n do
        write( PP[i,k]:5 );
      textcolor(11);
      Write(SSG[i]:8);
      Writeln;
    end;
  writeln;
  textcolor(7);
  write('   ВСЕГО':28);
  textcolor(10);
  For k:= 1 to n do
    write(SSD[k]:5);
  writeln;
  writeln;
  textcolor(7);
  writeln('Общее количество посетителей: ', CommonSumVisitor(PP,m,n));
  writeln('Номер возрастной группы, проявившей наибольший интерес: ', NumberMaxVisitorGroup(SSG,m));
  writeln('Номер дня, наплыв посетителей в который было наименьшим: ', NumberMinVisitorDay(SSD,n));
End;
 
 
 
var
  P: TV;  { Переменная для хранения массива с начальными данными по количеству посетителей}
  SG: TSG;  { Переменная для хранения массива с данными по сумме посетителей по группам}
  SD: TSD;   { Переменная для хранения массива с данными по сумме посетителей по дням}
 
begin
  randomize;
  VVOD(P,mmax,nmax);
  SumVisitorGroup(P,mmax,nmax,SG);
  SumVisitorDay(P,mmax,nmax,SD);
  VYVOD(P,mmax,nmax,SG,SD);
  readln;
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2020, 10:59
Помогаю со студенческими работами здесь

Найти и исправить ошибку (Паскаль)
В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: 1)самый...

Помогите найти и исправить ошибку
Доброго времени суток! Прошу помощи. Есть программа с двумя методами сортировки: Шелла и слиянием. Сортировка Шелла работает нормально, а...

Найти ошибку в программе и исправить её
Функция f(x,y)=sqrt((1+cos(2*x))/y); Интервал Начальное условие y(a)=1 Пишет ошибка в 44 строке... program...

Найти и исправить ошибку в коде
Прошу помочь разобраться с кодом var i,sum:integer; begin sum:=0; for i:=1 to n do sum:=sum+k; summ:=sum; end; begin

Помогите найти ошибку в программе и исправить её
Program Monte_Carlo; uses crt; var n,i,j,alfa:integer; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru