Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47

Карта распределения памяти

12.01.2010, 13:47. Показов 1631. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать 2 массива A и B из элементов типа char по 10 элементов
Заполнить массив A и массив B нулями
Заполнить массив A c переполнением 20-тью элементами 1,2,3,4 .. 20
Вывести на экран через пробел по 10 элементов массива А и В в виде
Массив A: 1 2 3 4 5 6 7 8 9 10
Массив B: 0 0 0 0 0 0 0 0 0 0

У меня получился следующий код

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
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
 
int main()
{
    char a[SIZE], b[SIZE];
    char i;
 
    for (i=0; i<SIZE; i++)
    {
    a[i]=b[i]=0;
    }
 
    for (i=1; i<20; i++)
    {
    a[i]=i;
    }
 
    printf("A: ");
    for (i=1; i<SIZE; i++)
    {
       printf("%i ",a[i]);
    }
    printf("\n B: ");
    for (i=1; i<SIZE; i++)
    {
       printf("%i ",b[i]);
    }
    return 0;
}
Помогите построить Карту распределения памяти по этому заданию
Вложение 18408
Вложение 18409

Я сделал вот такую

Вложение 18410

А препод в ответ

Я не вижу. то как Вы получили адреса массивов и функций. Или выведите скриншот экрана, используя функций отладки (watch) кодеблокса, ну или используя команду printf - выведите на экран во время исполнения программы - последний способ я объяснял на практическом занятии.

У Вас неправильно составлена карта памяти:

1) в программе массивы у Вас по 10 байт, а в карте памяти по 9 байт.

2) неправильное расположение переменной i в стеке на вашей картинке

3) адреса растут сверху вниз, а у Вас то сверху вниз, то снизу вверх.


Помогите плиз с этим заданием
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.01.2010, 13:47
Ответы с готовыми решениями:

Управление памятью, изучение распределения памяти
Первая работа.Помогите чем сможете.Буду благодарна.

Организация динамического двухмерного массива. Порядок распределения памяти
Итак, софорумцы, здравствуйте. Как всегда, преподавателя ещё нет, а я не знаю прав я или нет. Задача. Требуется организовать...

Реализовать стандартный набор операций со стеком на основе динамического распределения памяти
Реализовать программу, выполняющую стандартный набор операций со стеком на динамического распределения памяти.: проверку пустоты стека...

4
 Аватар для qwarta
73 / 73 / 11
Регистрация: 20.11.2009
Сообщений: 238
12.01.2010, 23:03
Нумерация элементов массива начинается с 0 (т.е. первый - 0, второй - 1 и т.д.). А при помощи вот такой вот программки, наверно сможешь составить карту?
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
#include <stdio.h>
#define SIZE 10
 
int main()
{
    char a[SIZE], b[SIZE];
    char i;
 
    for (i=0; i<SIZE; i++)  //заполнение массивов 0
    {
      a[i]=b[i]=0;
    }
 
    for (i=0; i<20; i++)    //переполнение массива а
    {
      a[i]=i;
    }
 
    printf("A: ");
    printf("\n     massiv a       |      massiv b");
    printf("\n Address-znachenie  |  Address -znachenie");
    printf("\n-----------------------------------------\n");
    for (i=0; i<SIZE; i++)
    {
      printf("\n%d -   %i       |  %d -    %i",&a[i], a[i], &b[i], b[i]);
    }
    printf("\n\nPeremennay i  - %i", &i);
    printf("\nfunction main - %i", &main);
    getch();
    return 0;
}
0
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
13.01.2010, 07:32  [ТС]
Ну более правильным будет вот-так

C
1
2
3
4
5
6
7
8
9
10
   printf("A: ");
    printf("\n     massiv a       |      massiv b");
    printf("\n Address-znachenie  |  Address -znachenie");
    printf("\n-----------------------------------------\n");
    for (i=0; i<SIZE; i++)
    {
      printf("\n%ph -   %i       |  %ph -    %i",&a[i], a[i], &b[i], b[i]);
    }
    printf("\n\nPeremennay i  - %ph", &i);
    printf("\nfunction main - %ph", &main);
Но однако и на это препод сказал, что числа по 10байт а у меня получаются по 9 байт. в чем проблема? и как их получить
0
 Аватар для solar_wind
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
13.01.2010, 07:41
fantazer333, Так ты сам подсчитай сколько у тебя байт выводится. printf выполняется 10 раз
0
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
13.01.2010, 08:46  [ТС]
Тема закрыта, я разобрался, не успел отписаться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.01.2010, 08:46
Помогаю со студенческими работами здесь

Функции для динамического распределения памяти для матрицы
Написал на С ф-ции для распределения памяти для квадратной матрицы: Хочу у вас спросить правильно ли все написано, потому что до этого...

Упрощенная карта распределения памяти.
Это собственно тема моего курсача. Вопросов несколько, и всех, кто поможет заранее благодарю! 1. Необходимо определить размер ПЗУ и...

у меня nokia 6555.захожу в галерею и нажимаю карта памяти когда её нету и пишет карта память неотформотиравана
захожу в галерею и нажимаю карта памяти когда ийо нету и пишет карта память неотформотиравана подскажите!!плиз!! Добавлено через 1 час...

Карта памяти глючит.
Всем доброго дня. Не знал в какую тему написать, но написал в эту. Вообщем есть карта памяти на 16Gb Sandisk. Вообщем глючит она таким...

карта памяти microSD
на карте памяти имеется свободное место 1ГБ, при попытке открыть файл pdf (200 МБ), появляется сообщение-недостаточно памяти, почему? и что...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru