Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Вывести строку целиком
Здравствуйте,в общем, как получить целую строку,Если имеется переменная с типом UNICODE_STRING,в ней есть WORD* Buffer,это указатель на первый символ,ну по-крайней мере у меня выводится только лишь... Выделяешь буфер размером "UNICODE_STRING.Length + 2" байт. Копируешь в него Length байт из UNICODE_STRING.Buffer. В конец дописываешь два нулевых байта (место под них выделено на первом шаге)....
C (СИ) Heap corruption detected https://www.cyberforum.ru/ c-beginners/ thread1652134.html
В процессе разработки получилась интересная ситуация. Есть такой код char **map; map = (char**)calloc(mapYsize, sizeof(char*)); for (i = 0; i < mapYsize; i++){ map = (char*)calloc(mapXsize,... Память у тебя под char, а что туда читаешь? Числа от 0 до 62
C (СИ) Вычислить и вывести на экран в виде таблицы значения функции https://www.cyberforum.ru/ c-beginners/ thread1652200.html
Не пойму как вписать эту большую скобку ?? И если не сложно книгу порекомендуйте пожалуйста. Итропинкаилесок, что должна возвращать функция при х = 1, с = 1, в = -1 и любом а?
C (СИ) Ошибки построения: Невозможно найти или открыть файл PDB https://www.cyberforum.ru/ c-beginners/ thread1651701.html
Помогите,пожалуйста,начал работать с указателями,набираю код,начинаю отладку и выдает сообщение,что в ходе построения произошли ошибки: "laba7.2.exe": Загружено: "D:\games\Новая папка\Новая... SergioO, это плюсовая чепуха. Сишный компилятор выплюнет.
Создать список из указателей C (СИ)
Есть начальный список элементов нужно сделать два других списка которые будут создержать указатели на элементы больше/меньше определённого значение из начального списка. list_element* delenije(...
C (СИ) Сформировать новый массив из элементов массивов P и Q, присутствующих в них обоих Даны два целочисленных массива: P(46) и Q(39). Сформировать новый массив из элементов массивов P и Q, присутствующих в них обоих, из исходных массивов эти элементы удалить. В новом массиве все... Вот, на коленке накидал. Размеры сами поменяйте.#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> void RemoveValues(int* const arr, size_t* const arrLengthPtr, const... https://www.cyberforum.ru/ c-beginners/ thread1651795.html
C (СИ) Как работать с бинарными файлами Объясните принципы обработки данных в бинарных файлах. И как сделать проверку фраз на наличие числовой информации в них? Здраствуйте, работа с бинарными файлами включает следуещие моменты: Начиная работу с бинарными файлами нужно открыть файл в бинарном режиме используется также функция fopen() с последним... https://www.cyberforum.ru/ c-beginners/ thread1651649.html C (СИ) Найти элементы массива, которые являются точными квадратами и вычислить их произведение Дан линейный массив действительных чисел. Найти все элементы данного массива, которые являются точными квадратами и вычислить их произведение. Вот более наркоманский вариант решения (адаптировано с СО):#include <stdio.h> #include <math.h> #include <stdint.h> int start = { 1,3,1769,5,1937,1741,7,1451,479,157,9,91,945,659,1817,11, ... https://www.cyberforum.ru/ c-beginners/ thread1653196.html
При вводе имени и фамилии русскими буквами количество символов увеличивается в 2 раза C (СИ)
При вводе имени и фамилии английскими буквами все работает нормально. Но при вводе имени и фамилии русскими буквами количество символов увеличивается в 2 раза. Например: Иван Петров 8 12 ... Aiwendil, про wchar почитайте, про setlocale() Aiwendil, про wchar почитайте, про setlocale() #include <stdio.h> #include <string.h> int main () { setlocale (LC_ALL, "RUS"); char...
Как работает эта программа? Как находится площадь? Вычислить S = sh(x) = x + x^3/3! + x^5/5! + .+ C (СИ)
#include <stdio.h> #include <stdlib.h> #include <math.h> long int factorial(int fact) { long f = 1; int i = 1; for(i = 1; i <= fact; i++) { f = f * i; ... Static33, может быть вы просто забыли, что такое факториал? Например 5!=1*2*3*4*5. #include <stdio.h> #include <stdlib.h> #include <math.h> long int factorial(int fact) { //Как я понял, в...
C (СИ) Что выполняет arr в приведенном коде? https://www.cyberforum.ru/ c-beginners/ thread1652298.html
#include <stdio.h> #include <stdlib.h> #define N 10 int main(int argc, char *argv) { int arr = {2,2,4,4,6,48,6,2,46,42}; int i = 0; int max = -10000; Ничего не выполняет :) Это просто массив. В котором указанный кусок кода ищет индекс, соответствующий максимуму среди нечетных чисел, записанных в массив.
Результат выводится не полностью C (СИ)
Всем доброго времени суток.Возникла проблема,результат выводится до 44 строчки,а дальше его уже нет,подскажите,пожалуйста,в чем проблема. // 7777777.cpp: определяет точку входа для консольного... Проблема в том, что не объявлены переменные p и s. Нормальный компилятор на такой код будет сразу ругаться.
0 / 0 / 0
Регистрация: 02.02.2016
Сообщений: 1
0

Теряются части тела змейки - C (СИ) - Ответ 8700839

02.02.2016, 12:20. Показов 484. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Пока просто пытаюсь сделать анимацию передвижения змейки и на каком-то этапе я допустил ошибку, которую уже не могу найти. Последствия ошибки - теряются части тела змейки, скорее всего ошибка в Draw_Snake()
Прилагаю сам код:
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
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <conio.h>
# include <windows.h>
 
const int N = 13, M = 17;
char Map[N][M];
char sn_x = 4, sn_y = 4;
const int body = 1;
int pos_x[100], pos_y[100];
int tempX, tempY;
 
void Draw_Map() {
 
    for (int i = 0; i < N; i++)                 // Создание и заполнение поля
        for (int j = 0; j < M; j++) {
            Map[i][j] = ' ';
            if (j==M-1) Map[i][j] = '\n';
        }
 
    for (int i = 0; i < N-1; i++) Map[i][M] = '#';    // Создание границ
    for (int i = 0; i < M-1; i++) Map[0][i] = '#';
    for (int i = 0; i < M-1; i++) Map[i][M-2] = '#';
    for (int i = 0; i < M-1; i++) Map[N-1][i] = '#';
 
}
 
 
void display() {
    system("cls");
    for (int i = 0; i < N; i++)        // Вывод поля на экран
        for (int j = 0; j < M; j++)
            printf("%c", Map[i][j]);
 
}
 
void startSetting() {
    Map[sn_y][sn_x] = '0';
    for (int i = 1; i <= body; i++) {
        pos_x[i] = sn_x; 
        pos_y[i] = sn_y + i;
        Map[pos_y[i]][pos_x[i]] = 'o';
    }
    pos_x[0] = sn_x;
    pos_y[0] = sn_y;
    
}
 
 
 
 
void Draw_Snake() {
 
    pos_x[0] = sn_x;
    pos_y[0] = sn_y;
    sn_y = sn_y + tempY;
    sn_x = sn_x + tempX;
    Map[sn_y][sn_x] = '0';
    printf("%d %d\n", pos_x[0], pos_y[0]);
 
    for (int i = body-1; i > 0; i--) {
        printf("%d %d\n", pos_x[i-1], pos_y[i-1]);
        pos_x[i] = pos_x[i - 1];
        pos_y[i] = pos_y[i - 1];
        Map[pos_y[i]][pos_x[i]] = 'o';
    }
}
 
 
 
int Key() {
 
    char key;
    key = _getch();
 
    switch (key) {
    case 'w':  tempY = -1; tempX = 0;  break;
    case 's':  tempY = 1;  tempX = 0;  break;
    case 'd':  tempY = 0;  tempX = 1;  break;
    case 'a':  tempY = 0;  tempX = -1; break;
    case 'e': return 1;
    }
 
    return 0;
 
}
 
void start(){
 
    Draw_Map();
    startSetting();
    display();
 
}
 
int main() {
 
    start();
 
    while (1) {
        if (Key()) return 0;
        Draw_Map();  // Создание поля и границ
        Draw_Snake();
        display();  // Вывод на экран
    }
 
    printf("\n");
 
}
Надеюсь на вашу помощь, и не надо говорить типо изи ошибка и тд, я понимаю примерно в чем она, но сегодня вечером уезжаю, поэтому хочу до вечера дописать(а сам ошибку буду искать возможно долго)

Добавлено через 7 минут
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
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <conio.h>
# include <windows.h>
 
const int N = 13, M = 17;
char Map[N][M];
char sn_x = 4, sn_y = 4;
const int body = 4;
int pos_x[100], pos_y[100];
int tempX, tempY;
 
void Draw_Map() {
 
    for (int i = 0; i < N; i++)                 // Создание и заполнение поля
        for (int j = 0; j < M; j++) {
            Map[i][j] = ' ';
            if (j==M-1) Map[i][j] = '\n';
        }
 
    for (int i = 0; i < N-1; i++) Map[i][M] = '#';    // Создание границ
    for (int i = 0; i < M-1; i++) Map[0][i] = '#';
    for (int i = 0; i < M-1; i++) Map[i][M-2] = '#';
    for (int i = 0; i < M-1; i++) Map[N-1][i] = '#';
 
}
 
 
void display() {
    system("cls");
    for (int i = 0; i < N; i++)        // Вывод поля на экран
        for (int j = 0; j < M; j++)
            printf("%c", Map[i][j]);
 
}
 
void startSetting() {
 
    Map[sn_y][sn_x] = '0';
    for (int i = 1; i <= body; i++) {
        pos_x[i] = sn_x; 
        pos_y[i] = sn_y + i;
        Map[pos_y[i]][pos_x[i]] = 'o';
    }
    pos_x[0] = sn_x;
    pos_y[0] = sn_y;
    
}
 
 
 
 
void Draw_Snake() {
 
    pos_x[0] = sn_x;
    pos_y[0] = sn_y;
    sn_y = sn_y + tempY;
    sn_x = sn_x + tempX;
    Map[sn_y][sn_x] = '0';
 
    for (int i = body-1; i > 0; i--) {
        printf("%d %d\n", pos_x[i], pos_y[i]);
        pos_x[i] = pos_x[i - 1];
        pos_y[i] = pos_y[i - 1];
        
        Map[pos_y[i]][pos_x[i]] = 'o';
    }
}
 
 
 
int Key() {
 
    char key;
    key = _getch();
 
    switch (key) {
    case 'w':  tempY = -1; tempX = 0;  break;
    case 's':  tempY = 1;  tempX = 0;  break;
    case 'd':  tempY = 0;  tempX = 1;  break;
    case 'a':  tempY = 0;  tempX = -1; break;
    case 'e': return 1;
    }
 
    return 0;
 
}
 
void start(){
 
    Draw_Map();
    startSetting();
    display();
 
}
 
int main() {
 
    start();
 
    while (1) {
        if (Key()) return 0;
        Draw_Map();  // Создание поля и границ
        Draw_Snake();
    //  display();  // Вывод на экран
    }
 
    printf("\n");
 
}
Более правильная версия кода(где то на этом этапе что-то упустил, причем практически правильно работала прога, но где-то что-то изменил и теперь никакой ctrlz не спасает)

Вернуться к обсуждению:
Теряются части тела змейки C (СИ)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.02.2016, 12:20
Готовые ответы и решения:

Добавление и удаление частей тела "змейки"
Привет. Какими способами можно добавлять части тела змейки при съедании яблока?

Найти массу тела, заданного ограничивающими плоскостями. Плотность тела = μ
сводится к подсчету тройного интеграла ∫∫∫μ(x,y,z)dxdydz по области V проблема в расчете интеграла.. не знаю как пределы подставить...

Как изменится масса тела, если полная энергия тела возросла
Доброго времени суток. Помоги пожалуйста с решением задачи: Как изменится масса тела,если полная энергия тела возросла на 1,2 кДЖ? ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.02.2016, 12:20
Помогаю со студенческими работами здесь

Кинетическая энергия движущегося тела W(k)=m*v^2/2, где m - масса тела, v - его скорость
Кинетическая энергия движущегося тела W(k)=m*v^2/2, где m - масса тела, v - его скорость. Составить алго-ритм для получения зависимости Wk...

Записать уравнение траектории тела. Чему равна скорость тела в момент падения?
С башни высотой 19,6 м в горизонтальном направлении брошено тело со скоростью 10 м/с. Записать уравнение траектории тела. Чему равна...

Найти уравнение скорости движения тела и положение тела как функцию от времени
здравствуйте, помогите пожалуйста) Найти уравнение скорости движения тела и положение тела как функцию от времени. Входные данные:...

Найти уравнение скорости движения тела и положение тела как функцию от времени
задан закон изменения ускорения движения тела как функция от времени. Найти уравнение скорости движения тела и положение тела как функцию...

Движение тела по окружности в пространстве(вычисление координат тела)
Здравствуйте, меня интересует такой вопрос: можно ли математически смоделировать движение тел по окружности в пространстве так, чтобы их...

0
Новые блоги и статьи
Winforstrap или красявый дизайн своими руками на HTML+JS+Winform­s
anomal6 04.03.2025
Сидел тут вечером ковырял проект на MAUI, и как же глупо создаются пакеты MSIX и система обновлений пакета публикации, но не об этом. Бывает нужен современный дизайн программы а писать на MAUI,. . .
Формат данных для симуляции физики, посредством распространённы­­­­­­­х не обученных моделей.
Hrethgir 04.03.2025
Что-то как-то снова потерялось, зато катангенсы закатангесились в одном сообщении. На днях писал, что планирую для работы апгрейдить (на этот раз удачно) девайс для работы (конкретно - здоровья для,. . .
Концепция variadic
CoderHuligan 04.03.2025
Мне не очень нравится (а кому это нравится?) что у нас есть отдельно компилятор, отдельно линковщик, причем со своим собственным командным языком. При этом усложнении надо знать помимо языка. . .
Java Record или Kotlin Data Class: что лучше для неизменяемых данных
Wired 04.03.2025
Java Record и Kotlin Data Class — два мощных инструмента для обуздания неизменяемых структур данных, каждый со своим уникальным подходом к решению этой задачи. История их появления весьма. . .
Создание производительны­­­х API с Java и gRPC
Wired 04.03.2025
В мире микросервисной разработки вопрос производительности часто становится краеугольным камнем. И хотя REST API давно завоевал сердца разработчиков своей простотой и интуитивностью, при высоких. . .
Что нового в JDK 24
Wired 04.03.2025
JDK 24 — это настоящий прорыв в эволюции Java, который кардинально меняет правила игры. В этом релизе разработчики Oracle наконец-то довели до ума множество критически важных улучшений в. . .
Разработка блокчейн с использованием Java: смарт-контракты и dApp
Wired 04.03.2025
Погружаясь в мир блокчейн-разработки на Java, разработчик получает доступ к внушительному арсеналу инструментов. В отличие от Solidity, который "заперт" в экосистеме Ethereum, Java предоставляет. . .
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru