| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C] Динамическая память, функции |
| Автор: Benya 18.4.2007, 23:41 |
| Доброго вермени суток Очень нужна программа, а сам в функциях и динамической памяти - ноль. Массив описывается динамически. Элементы массива вещественного типа. Размер рабочего массива определяет пользователь. Обработка массива для поиска значения очередной переменной для вычисления выражения осуществляется в отдельной функции. Все необходимые данные должны быть переданы в функции в качестве параметров. Переменные описываются на внутреннем уровне. Собственно условие: Дана целочисленная матрица A[i,j], i,j=1,.,.,n. Пусть характеристика строки - среднее арифмитическое ее элементов. Получить целочисленную матрицу B[i,j], i,j=1,.,.,n, помещая в нее строки из матрицы А в порядке роста их характеристик. |
| Автор: Benya 19.4.2007, 09:42 |
| Да, ошибка вышла. Все-таки целые числа. |
| Автор: Anikmar 19.4.2007, 12:56 | ||
Что-то вроде этого?
|
| Автор: Benya 19.4.2007, 18:36 |
| Похоже, что да. Но код на С++. Буду очень признателен, если укажете, на то, что, кроме conio и pragma, надо заменить для запуска на С. |
| Автор: Dov 19.4.2007, 18:44 | ||
Прокладку между клавиатурой и спинкой стула. p.s. шутка. |
| Автор: Anikmar 19.4.2007, 19:40 |
| Уф. Я не обратил внимание, что нужно чистый Си Там надо заменить new и delete на обычные функции памяти - malloc и free, больше вроде ничего - все стандартно. |
| Автор: Benya 19.4.2007, 21:15 | ||
Ругается что-то он сильно...Те места, где память я вроде ипсравил, хотя и не уверен, так как с динамической памятью почти не работал:
А вот почему на bool Flag, true, false ругается - вообще без понятия: error: 'bool' : undefined |
| Автор: Anikmar 19.4.2007, 21:21 | ||
| А какой у вас компилятор? Добавлено через 2 минуты и 50 секунд
Сначала выделяем массив указателей, а потом каждый указатель - уже собственно столбец матрицы (Правда ошибки скорее все не будет, так как указатель и int скорее всегоодного размера), но надо исправить Добавлено через 13 минут и 42 секунды Странно. Я создал чисто сишный проект в Билдере, он все схавал (включая new и delete) - видимо глюк компилятора А вот почему на bool ругается? Может подключить ему <stdlib.h> ? |
| Автор: Benya 19.4.2007, 21:46 |
| Про указатели понял, спасибо. А вот на bool, Flag, true, false продолжает ругаться. <stdlib.h> не помогает... Компилятор QuickC. |
| Автор: Anikmar 19.4.2007, 21:50 |
| А в других программах не ругается? Что говрит хелп? Добавлено через 56 секунд В конце концов не парьтесь, замените bool на int, true на 1, false на 0 |
| Автор: Benya 20.4.2007, 00:45 | ||
И замена не помогает, выдает ошибку о том, что пропущена точка с запятой перед int и потом не признает Flag во всем остальном коде.
|
| Автор: Anikmar 20.4.2007, 11:11 | ||
| Может быть QuckC не позволяет объявлять переменные в теле функции после операторов? Попробуете переставить местами строчки и сделать так:
|
| Автор: Benya 21.4.2007, 14:20 |
| Это помогло, теперь все правильно работает. Спасибо большое за помощь и подробный разбор. |