cosmo

Проблемы с массивами в С

16.08.2010, 09:49. Показов 3055. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос такой - Я работаю в ТС под ДОС, у меня есть 2-мерный float массив AI[colvo][2], мне нужно в него записать 2х20000 значений, но когда я ставлю colvo больше 7000, он мне говорит, что размер массива слишком велик, и всё тут. Я пробовал выделять память (malloc и т.д.) но у меня не получается использовать её как двумерный массив, только как одномерный.

Вот такая вот беда. Самое смешное, что от этой программы зависит мое пребывание в аспирантуре
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2010, 09:49
Ответы с готовыми решениями:

Проблемы с массивами
Здравствуйте, уважаемые. Помогите пожалуйста с задачкой. Создать программу, которая вводит c клавиатуры двумерный массив целых чисел,...

Проблемы с массивами
Доброго дня. По учебе работаем на php. Есть некоторые проблемы с массивами. Напрмер Есть такой код: $dir = "../file/"; $files...

Основы java. Проблемы с массивами и переменными
Объясните, пожалуйста, где ошибка. В этом примере я пытаюсь получить массив vector3, который будет выдавать сумму vector1+vector2. ...

21
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,932
Записей в блоге: 5
09.09.2010, 15:11
Студворк — интернет-сервис помощи студентам
(Мне нужно 800), а под ВИНДУ не работают ДОСОВСКИЕ команды inport, outport, delay, без которых мне не обойтись. Кто-то посоветовал библиотеки чтения портов под ВИНДУ. А Вы что скажете по этому поводу?

> А я узнал, что под ДОС можно выделить не больше 640Кб памяти

Выделить - это как? при помощи malloc? Нет, максимальный размер выделения 65520 байт. Это связано с тем, что под размер выделенной области выделено 2 байта. Вот общий размер памяти доступной программее не более 640 Кб, часть ее занимает ОС, программа и другие данные. Так что при выделении памяти места может не хватить. В этом случае возвращается нулевой указатель. Массивы обычно также не могут превышать 64K. Чтобы описать больший массив, он должен быть статическим и должен быть huge. Для этого нужно включить в его описание слово huge либо компилировать в модели памяти huge (ключ -mh). Так что ваш массив float 2х20000 вполне может работать. Работает даже 2x70000. Пример:

#include <stdio.h>
#include <alloc.h>
float huge AI[70000][2];
float *p1, *p2;
void main() {
AI[1][1] = 6.345;
printf('%5.3f
', AI[1][1]); /* 6.345 */
p1 = (float*)malloc(40000);
if(p1) {
p1[9999] = 8.221;
printf('%5.3f
', p1[9999]); /* 8.221 */
}
p2 = (float*)malloc(40000); /* Неудача */
if(p2) { /* Сюда не заходит */
p2[9999] = 7.564;
printf('%5.3f
', p2[9999]);
}
}

> (Мне нужно 800)

Ваши аппетиты растут на глазах. Если вы хотите работать под DOS, а объем физической памяти позволяет, то вам надо использовать другой компилятор, который сможет использовать расширенную память так, как будто она основная. Таких компиляторов существует много: WATCOM, Zortech (потом он стал Symantec). Есть еще, не помню названий.
Тогда не выделяйте, а описывайте как статический массив. Ну об этом я уже писал. Пример:

а под ВИНДУ не работают ДОСОВСКИЕ команды inport, outport, delay

Это не команды а функции С-библиотеки. Они исключены из библиотек в 32 разрядных компиляторах, но можно пользоваться ассемблерными вставками c командами in, out. Работу с некоторыми портами Windows 2000 разрешает. Я пробовал так работать с динамиком и при помощи портов делал delay. Про работу с другим оборудованием не знаю. Знаю, что ограничения очень жесткие.

> Кто-то посоветовал библиотеки чтения портов под ВИНДУ.

Наверняка их можно использовать, но можно обращаться и непосредственно.
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,932
Записей в блоге: 5
09.09.2010, 15:14
Что-то я сырой текст забросил. Мусор в двух местах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2010, 15:14

Действия над массивами слов и массивами байтов
Есть задание: Даны два массива: массив слов MS и массив байтов MB. Установить &quot;1&quot; в 4-ых и 6-тых битах всех элементов массива MB....

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

Работа с массивами!
1. Составить прогу. генерирующую массив содержащий только те элементы одномерного массива А(т) , что будет удовлетворять условию, корни...

Работа с массивами
Помогите !!! Дан одномерный массив A. Найти max(a2, a4, ..., a2k) + min(a1, a3,…, a(2k+1)).

Работа с массивами
Помогите срочно!!! В двумерном массиве, состоящем из NxN целочисленных элементов, вычислить: • произведение элементов массива с...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru