anyk2004
07.02.2021 06:49

Дано: writeln (s:6:2);
Если s=112,73367, то на экране появится

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Эхэхэхэххэ
09.09.2022 15:15
1. → 2 [сдвинуться вправо, перейти на строку 2]
2. → 3 [сдвинуться вправо, перейти на строку 3] — в вопросе опечатка?
3. → 4 [сдвинуться вправо, перейти на строку 4]
4. ? 5;2 [если в текущей ячейке нет метки, перейти на строку 5, иначе вернуться на 2]
5. ← 6 [сдвинуться влево, перейти на строку 6]
6. V 7 [поставить метку, перейти на строку 7]
7. ! [закончить работу]

Программа делает следующее: переходит на метку вправо, шагами по две ячейки идёт вправо, пока не дойдёт до пустой ячейки, возвращается на ячейку влево, ставит там метку и заканчивает работу.

Пусть метки расположены в ячейках 0 - (n-1), каретка под ячейкой 0.
Тогда сначала каретка окажется подячейкой 1, сделает [n/2] шагов по 2 вправо ([x] — целая часть x), оказавшись под ячейкой 1 + 2 * [n/2], вернётся на ячейку влево (ячейка 2 * [n/2]) и поставит там метку.

Если n было четным, будут заполнены ячейки от 0 до n, каретка под ячейкой n
Если n было нечетным, будут заполнены ячейки от 0 до n - 1, каретка под ячейкой n - 1
0,0(0 оценок)
Ответ:
mishakukla
06.04.2023 04:02

/* memsegments.c */

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct mem

{

   char text[100];

   int *p;

} mem;

int cmp_by_address(const void *, const void *);

void print_struct_array(mem *, size_t);

int init_global_var = 10;        /* Initialized global variable */

int global_var;                  /* Uninitialized global variable */

static int init_static_var = 20; /* Initialized static variable in global scope */

static int static_var;           /* Uninitialized static variable in global scope */

int main(int argc, char **argv, char **envp)

{

   static int init_static_local_var = 30;   /* Initialized static local variable */

   static int static_local_var;             /* Uninitialized static local variable */

   int init_local_var = 40;                 /* Initialized local variable */

   int local_var;                           /* Uninitialized local variable */

   int *dynamic_var = (int*)malloc(sizeof(int));  /* Dynamic variable */

   mem structs[] =

   {

       {"Global variable (initialized)", &init_global_var},

       {"Global variable (uninitialized)", &global_var},

       {"Static variable (in global scope, initialized)", &init_static_var},

       {"Static variable (in global scope, uninitialized)", &static_var},

       {"Static variable (in local scope, initialized)", &init_static_local_var},

       {"Static variable (in local scope, uninitialized)", &static_local_var },

       {"Function (code)", (int*)&main },

       {"Environment variable", (int*)&envp[0] },

       {"Local variable (initialized)", &init_local_var },

       {"Local variable (uninitialized)", &local_var },

       {"Dynamic variable", dynamic_var },

   };

   size_t len = sizeof(structs) / sizeof(mem);

   qsort(structs, len, sizeof(mem), cmp_by_address);

   print_struct_array(structs, len);

   free(dynamic_var);

   return 0;

}

int cmp_by_address(const void *a, const void *b)

{

   mem *ma = (mem *)a;

   mem *mb = (mem *)b;

   if ((unsigned)ma->p > (unsigned)mb->p)

       return -1;

   else if ((unsigned)ma->p < (unsigned)mb->p)

       return 1;

   else

       return 0;

}

/* Example struct array printing function */

void print_struct_array(mem *array, size_t len)

{

   size_t i;

   for(i=0; i<len; i++)

       printf("%-50s:\t%p\n", array[i].text, array[i].p);

}

В результате получим:

Environment variable                              :     0xbff52ee0

Local variable (uninitialized)                    :     0xbff529ac

Local variable (initialized)                      :     0xbff529a8

Dynamic variable                                  :     0x871c008

Global variable (uninitialized)                   :     0x804a044

Static variable (in local scope, uninitialized)   :     0x804a040

Static variable (in global scope, uninitialized)  :     0x804a03c

Static variable (in local scope, initialized)     :     0x804a034

Static variable (in global scope, initialized)    :     0x804a030

Global variable (initialized)                     :     0x804a02c

Function (code)                                   :     0x80484ad

Утилита size показывает размер разделов и общий размер для объектных файлов или архивов. Так, для memsegments.o получим:

$ size memsegments.o

  text    data     bss     dec     hex filename

   745      12       8     765     2fd memsegments.o

Объяснение:

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота