Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2016, 16:07   #11
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Ну можно открыть какой-нибудь простой пример кода на Си и посмотреть (подсказка: write -> printf, readln -> scanf, new -> malloc, dispose -> free, dec -> --, inc -> ++).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 01.04.2016, 16:17   #12
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

в гугле
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 02.04.2016, 09:43   #13
Max00766
Форумчанин
 
Регистрация: 15.11.2015
Сообщений: 151
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Ну можно открыть какой-нибудь простой пример кода на Си и посмотреть (подсказка: write -> printf, readln -> scanf, new -> malloc, dispose -> free, dec -> --, inc -> ++).
Написал одну процедуру, можете глянуть насчет правильности?
Код:
#include <stdio.h>
#include <stdlib.h>
 
typedef struct Stack {
    int x;
    struct Stack *next;
} Stack;
typedef Stack* TStack;
 
int cr(char * mass[]){
int x =-1;
char ch[1];
 while(1){
  printf("Введите x >0  или x = 0 \n")
  fread(ch ,1,1,stdint);
  x = ch[0] - '0';
  if(x >= 0)
    break;
// обратите внимание, здесь не анализируются служебные символы, такие как \n и прочие
 
 }
 
return x;
}
 
void push(TStack *st, int t)
{
    //...
}
 
void pop(TStack *st, int *t)
{
    //...
}
 
int main(void)
{
    int m, n;
    TStack st = NULL;
    //...
    printf("f(m, n) = %d\n", n);
    return 0;
Max00766 вне форума Ответить с цитированием
Старый 02.04.2016, 13:19   #14
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

В принципе так тоже, думаю, будет работать, но для однозначных чисел.
Я бы записал так:
Код:
void cr(char *s, int *x)
{
    do {
        printf("%s > 0;  %s = ", s, s);
        scanf("%d", x);
    } while (*x <= 0);
}
Т.е. почти также, как было в коде на паскале.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 02.04.2016, 14:13   #15
Max00766
Форумчанин
 
Регистрация: 15.11.2015
Сообщений: 151
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
В принципе так тоже, думаю, будет работать, но для однозначных чисел.
Я бы записал так:
Код:
void cr(char *s, int *x)
{
    do {
        printf("%s > 0;  %s = ", s, s);
        scanf("%d", x);
    } while (*x <= 0);
}
Т.е. почти также, как было в коде на паскале.
А с push и pop не поможете, а то не могу никак с указателями разобраться?
Max00766 вне форума Ответить с цитированием
Старый 02.04.2016, 22:10   #16
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
void push(TStack *st, int t)
{
    TStack tmp = malloc(sizeof(Stack));
    tmp->x = t;
    tmp->next = *st;
    *st = tmp;
}
Вот так push. В pop тоже 4 строчки. Попробуйте его написать аналогично.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 03.04.2016, 10:09   #17
Max00766
Форумчанин
 
Регистрация: 15.11.2015
Сообщений: 151
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
void push(TStack *st, int t)
{
    TStack tmp = malloc(sizeof(Stack));
    tmp->x = t;
    tmp->next = *st;
    *st = tmp;
}
Вот так push. В pop тоже 4 строчки. Попробуйте его написать аналогично.
Спасибо большое, очень выручили
Max00766 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать не рекурсивную функцию, используя стек Max00766 Общие вопросы C/C++ 12 21.03.2016 06:47
Составить рекуррентную функцию вычисления выражения. Pascal AngryProj Помощь студентам 5 27.11.2014 21:37
Используя очередь, написать процедуру или функцию,для вычисления среднего геометрического элементов типизированного файла (Паскаль BumBum4ik Помощь студентам 0 04.01.2014 18:12
Вычислить выражение , используя функцию вычисления. Roman1295 Паскаль, Turbo Pascal, PascalABC.NET 0 23.12.2012 18:22