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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по массиву. на строках с массивом ошибка 
:(
    Опции темы
молька
Дата 18.5.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В программе в основной функции задаются параметры массивов (значения функции х и у),  Почему то на этих строках показывает ошибку  - компилятор меня не понимает((...Может кто подскажет где некорректно сделано.. 


Код
#include <iostream>
#include <stdio.h>
#include <process.h>
#include <math.h>
#include <stdlib.h>

using namespace std;
float *a,*b,**sums,*x,*y;
int N,K;         //N число заданных точек.К - степень апроксимирующего полинома К<=N


void allomatrix() // память для матрицы
   {
       int i,j,k;
       a=new float[K+1];
       b=new float[K+1];
       x=new float[N];
       y=new float[N];
       sums=new float*[K+1];
       if(x==NULL||y==NULL||a==NULL||sums==NULL)
       {
           cout<<"\nnot.N=%d,K=%d\n"<<N<<K;
           exit(-1);
       }
       for(i=0;i<K+1;i++)
       {
           sums[i]=new float[K+1];
           if(sums[i]==NULL)
           {
               cout<<"\nnot.\n"<<K+1;
           }
       }
       for(i=0;i<K+1;i++)
       {
           a[i]=0;
           b[i]=0;
           for(j=0;j<K+1;j++)
           {
               sums[i][j]=0;
           }
       }
       for(k=0;k<N;k++)
       {
           x[k]=0;
           y[k]=0;
       }

   }

void matrix()
{
   int i=0,j=0,k=0;
   for (k=0;k<N;k++)
   {
       cout<<"\n%f"<<x[k];
       cout<<"\n%f"<<y[k];
   }
   for(i=0;i<K+1;i++) // расчет сумм многочлена
   {
         for(j=0;j<K+1;i++)
         sums[i][j]=0;
         for(k=0;k<N;k++)
         {
             sums[i][j]+=pow(x[k],i+j);
         }
         for(i=0;i<K+1;i++) // расчет свободных членов
   {
         for(k=0;k<N;k++)
         {
         b[i]+=pow(x[k],i)*y[k];
         }
   }
}
}
void printresult()//печать параметров полинома
{
    int i=0;
    cout<<"\n";
    for(i=0;i<K+1;i++)
    {
        printf("a[%d]=%f\n",i,a[i]);
    }

}
int main(void)
{
    int i=0,j=0,k=0;
    float x[N]= {7.5994575, 9.1972266, 10.5710620, 12.2775046, 13.1669275, 15.0697361, 17.9323175, 20.3235298};
    float y[N]= {1.9, 1.91, 1.92, 1.93, 1.94, 1.95,1.96,1.97)};
        cout<<"chislo tochek funccii N="<<N;
    do {
        cout<<"vvedite stepen polinoma K<N:"<<K;
        cin>>K;
    }
    while(K>=N);
    allomatrix();
    //znachmatrix();
    matrix();
    printresult();

}



Модератор: Не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 18.5.2010, 20:51
PM MAIL   Вверх
mes
Дата 18.5.2010, 14:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(молька @  18.5.2010,  13:09 Найти цитируемый пост)
  Почему то на этих строках показывает ошибку  - компилятор меня не понимает((

ну а сообщение компилятора военная тайна ?

Цитата(молька @  18.5.2010,  13:09 Найти цитируемый пост)
1.97)};

откуда скобка ?


Цитата(молька @  18.5.2010,  13:09 Найти цитируемый пост)
  float x[N]

N разве константна  и больше нуля ?

и оформляйте плиз код соотвествующим тегом.. 



--------------------
PM MAIL WWW   Вверх
bsa
Дата 18.5.2010, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



молька, прежде чем использовать N в качестве размера массива ее нужно определить. Причем, она должна быть КОНСТАНТОЙ:
Код
const int N = 8;
Если же тебе нужно автоматическое определение размера статического массива, то нужно использовать sizeof:
Код
N = sizeof(x)/sizeof(*x);
В строчке вывода числа N рекомендую поставить еще вывод endl, чтобы не лепилось все в одну строчку.
PM   Вверх
молька
Дата 19.5.2010, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Благодарю.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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