Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++]Динамическая память, Как данную прогу через динамическую сдел 
:(
    Опции темы
JediKolyas
Дата 15.5.2007, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 15.5.2007

Репутация: нет
Всего: нет



Код

# include <iostream.h>
# include <conio.h>
# include <stdio.h>
# include <math.h>
const n=5, m=5;
FILE*file;
FILE*f;
int i,j,imin, imax;
float q, b[m], a[n][m], max;
void vvod()
{
    file=fopen("q.qqq","r");
   for(i=0; i<n; i++)
   {for(j=0; j<m; j++)
   {fscanf(file,"%d",& a[i][j]);}
   }fclose(file);
}
void massb()
{
    for(i=0; i<n; i++)
   {max=a[i][0];
   for(j=0; j<m; j++)
   {if(max<=a[i][j])
   max=a[i][j];}
   b[i]=max;}
}
void vivod()
{
    f=fopen("qq.qqq", "w");
   for(i=0; i<n; i++)
   {printf("%d/t", b[i]);}
   fclose(f);
}
void main()
{
    vvod();
   massb();

   for(i=0; i<m; i++)
   {if(b[i]<0)
   {imin=i; break;}}
   for (i=0; i<m; i++)
   {if(b[i]>0)
   {imax=i;}}

   q=b[imin];
   b[imin]=b[imax];
   b[imax]=q;

   vivod();
   getch();
}




M
Alexeis
Модератор: используйте подсветку кода подсветка кода


Это сообщение отредактировал(а) Alexeis - 15.5.2007, 22:16
PM MAIL   Вверх
Rickert
Дата 15.5.2007, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



JediKolyas, во-первых помести исходник в тэги для кода, так читать удобнее, а во-вторых дай лучше задание само, а не готовый исходник: написать заново будет проще имхо


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
JediKolyas
Дата 15.5.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 15.5.2007

Репутация: нет
Всего: нет



Сформировать одномерный массив B[M] из максимальных элементов столбцов прямоугольной матрицы A[N][M]. В массиве B поменять местами первый отрицательный и полседний положительный элементы.
Я реализовал это через функции, а надо еще и с помощью динамической памяти. У меня не выходит.
PM MAIL   Вверх
Rickert
Дата 15.5.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



JediKolyas, всё, ясно, я тебе напишу прогу, только один вопрос: 
Цитата

...из максимальных элементов столбцов прямоугольной матрицы A[N][M]...

Тут сказано про формирование одного массива B и в тоже время про "из максимальных". Поясни.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Earnest
Дата 15.5.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 2
Всего: 183



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 


--------------------
...
PM   Вверх
JackYF
Дата 15.5.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 2
Всего: 162



Цитата(Rickert @  15.5.2007,  18:31 Найти цитируемый пост)
Тут сказано про формирование одного массива B и в тоже время про "из максимальных". Поясни.


Видать, имелось в виду - максимальный для каждого столбца отдельно. Если я правильно понял.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
betal
Дата 15.5.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 26.12.2006

Репутация: 1
Всего: 1



как-как? Массивы храни просто в динамической памяти
тоесть если у тебя есть
Код

float b[m];

то будет
 
Код

float  *b = new float[m];

а если
Код

float a[n][m];

тогда
Код

float **a = new float *[n];
if (a!=NULL)
for (int i=0; i<n; i++)
{a[i] = new float[m];
if(a[i]==NULL){cout<<"exit "<<i;} 
}    


Это сообщение отредактировал(а) betal - 15.5.2007, 22:03
--------------------
101100010100001101100001110100101111011легкие деньги
PM WWW ICQ   Вверх
JediKolyas
Дата 16.5.2007, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 15.5.2007

Репутация: нет
Всего: нет



Спасибо, я уже сам справился!
PM MAIL   Вверх
betal
Дата 16.5.2007, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 26.12.2006

Репутация: 1
Всего: 1



та всегда пожалуйста!

Это сообщение отредактировал(а) betal - 16.5.2007, 09:47
--------------------
101100010100001101100001110100101111011легкие деньги
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.