Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Проблема с массивом(


Автор: kostyantmb 9.12.2006, 22:11
У меня есть программа, внутри которой вычисляются значения функции y в 5 точках х, вычисления каждой из у по разным формулам, как загнать полученные значения у1...у5 в одномерный массив? т.к. потом из них надо будет найти минимальную и от неё уже скакать...

Автор: Daevaorn 9.12.2006, 22:13
kostyantmb, приведи код, который у тебя уже есть

Автор: kostyantmb 9.12.2006, 22:24
Код

#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <malloc.h>

double f(double x)
{
return -1*x*x*x-10.5*x*x-36*x+6;
}

void main()
{
clrscr();
double a,b,dx,x1,x2,x3,y1,y2,y3,y4,y5;
a=-9;
b=-4.5;
int i=0;
double *array;

dx=b-a;
y1=f(a);
x2=a+0.5*dx;
y3=f(x2);
y5=f(b);
//do
//{
dx=b-a;
x1=a+0.25*dx;
x2=b-0.25*dx;
y2=f(x1);
y4=f(x3);

Автор: Daevaorn 9.12.2006, 22:41
kostyantmb, код твой явно стродает в части логики.
Я тебе приведу пример. Он максимально упрощен, и надеюсь будет тебе понятен. Дальше уже сам разберешься
Код

#include <stdio.h>
#include <conio.h>
#include <math.h>

int f( int x )
{
    return x * x;
}

int main()
{
    const int count = 5;
    int x[ count ] = { 4, 2, 16, 8, 32 };
    int y[ count ] = { 0 };
    
    for( int i = 0; i < count; ++i )
        y[ i ] = f( x[ i ] );

    int min_y = y[0];
    int max_y = y[0];

    for( int i = 1; i < count; ++i )
    {
        if( y[ i ] < min_y )
            min_y = y[ i ];
        if( y[ i ] > max_y )
            max_y = y[ i ];
    }

    printf( "Y: " );
    for( int i = 0; i < count; ++i )
        printf( "%d  ", y[ i ] );
    printf( "\nMin y = %d\n", min_y );
    printf( "Max y = %d\n", max_y );
    return 0;
}

Автор: kostyantmb 11.12.2006, 11:19
Не, это ни то, вот что примерно хотелось знать:
Код

for (i=0;i<5;i++)
{
array[0]=y1;
array[1]=y2;
array[2]=y3;
array[3]=y4;
array[4]=y5;
//printf("%lf ",array[i]);
}
//printf("\n");
min=array[0];
nmin=1;
for (i=0;i<5;i++)
if (array[i]<min)
{
min=array[i];
nmin=i;
}
//printf("min=%lf nomer=%d\n",min,nmin);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)