Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2009, 19:20   #11
ciaonataha
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 150
По умолчанию

Код какой был, такой и остался. Я совершенно ничего не меняла. Только почему то в out.тхт выводит для векторов индексов 0000
+
А я хотела бы в главной фукции распечативать эти вектора. Но , когда я их распечтиваю они аффишируют индексы и элементы матрицы, которые не равны 0 и дозопалняутся нулями из-за их первоночальных размеров.
Код:
  Array <double,1> L1(IMAX*JMAX*KMAX*FMAX);                     
  Array <double,1> iL1(IMAX*JMAX*KMAX*FMAX);                    
  Array <double,1> jL1(IMAX*JMAX*KMAX*FMAX);                    
  Array <double,1> kL1(IMAX*JMAX*KMAX*FMAX);                    
  Array <double,1> lL1(IMAX*JMAX*KMAX*FMAX);
Вот мне и надо поменять их размеры в функции поиска не нулевых элементов
ciaonataha вне форума Ответить с цитированием
Старый 31.03.2009, 19:30   #12
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Код какой был, такой и остался. Я совершенно ничего не меняла. Только почему то в out.тхт выводит для векторов индексов 0000
Ну если бы вы совсем ничего не меняли, то все бы работало.

Цитата:
А я хотела бы в главной фукции распечативать эти вектора.
Показываю на своем коде (из прошлой темы):
Код:
for(i=0;i<N1;i++)
  for(j=0;j<N2;j++)
   for(k=0;k<N3;k++)
    for(l=0;l<N4;l++)
     if(MAT[i][j][k][l]!=0)
      {
       V1[vk] = i;
       V2[vk] = j;
       V3[vk] = k;
       V4[vk] = l;
       Vz[vk++] = MAT[i][j][k][l];
      }
Это основной кусок, который и заполняет вектора. А vk, в конечном итоге, будет содержать реальный размер каждого вектора (количество ячеек, заполненных нужными числами).

В вашем случае, как я понимаю, это vel.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 31.03.2009, 21:17   #13
ciaonataha
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 150
По умолчанию

Все в точности тоге самое и у меня написану. Тем не менее проблема остается.

Код:
 int i1 = Afinal.extent(0);
 int j1 = Afinal.extent(1);
 int f1 = Afinal.extent(2);
 int l1 = Afinal.extent(3);
 int i, j , f, l;
 int vel = 0;
    
for(i = 0; i < i1; i++)
 for(l = 0; l < l1; l++)
  for (j = 0; j < j1; j++)
    for (f = 0; f < f1; f++)
    if (Afinal(i,j,f,l)!=0)
     {
      iA(vel)=i;
      jA(vel)=j;       
      kA(vel)=f;
      lA(vel)=l;   
      A(vel++)=Afinal(i,j,f,l); 
     }
ciaonataha вне форума Ответить с цитированием
Старый 31.03.2009, 21:29   #14
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

А вот это:
Код:
int i1 = Afinal.extent(0);
 int j1 = Afinal.extent(1);
 int f1 = Afinal.extent(2);
 int l1 = Afinal.extent(3);
что значит?
Может, проблема при чтении массива?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск элементов в матрице, не равных нулю ciaonataha Общие вопросы C/C++ 37 29.03.2009 21:29
Меди плеер с нуля Xmire Общие вопросы C/C++ 5 03.08.2008 21:52
автоинкремент с нуля azat БД в Delphi 5 18.12.2007 08:26