nixp.ru v3.0

18 октября 2017,
среда,
03:19:41 MSK

DevOps с компанией «Флант»
CIVILIS написал 19 января 2007 года в 12:44 (389 просмотров) Ведет себя неопределенно; открыл 6 тем в форуме, оставил 2 комментария на сайте.

#include

#include

#include

#include

//——————————————————

double A(int i, int j)

{

double a;

i++;

j++;

if(i>j) a=i-2*j; else if(i==j) a=i*j; else a=3*i+j;

return a;

}

//——————————————————-

void main (void)

{

int N;

double *Ar;

double B[15];

double max;

clrscr();

do

{

printf(«\nProgram makes array N*N (0

scanf(«%u», &N);

Ar=(double*)malloc(N*N*sizeof(double));

}

while(N>15 || N<1);

for(int i=0; i

for(int j=0; j[j]=A(i,j);

for(i=0; i

{

for(int j=0; j

printf(«\n»);

}

printf(«——————————————-\n»);

for(int j=0; j

{

B[j]=0.0;

for(int i=0; i

printf(«%7.2lf», B[j]);

}

max=B[0];

for(i=1; i

<b max="B;«>printf(»\nMax sum is %7.2lf\n», max);</b>

<b max="B;«>printf(»\nPress any key to exit…»);</b>

<b max="B;">getch();</b>

<b max="B;">}</b>

<b max="B;">// Тему переместил(а) decvar из форума «Общий по программированию».</b>

Uncle Theodore

Ты зачем темы дублируешь, а?

Вторую сотру.

Теперь по теме.

В твоей проге не создается двумерный массив.

double *Ar;

есть указатель на double, а не на то, что ты хочешь. Тебе надо разобраться.

Я покажу тебе, как это сделать с int, а ты разберешься дальше, лады?

Вот смотри, как я создам динамический массив целых чисел

#include
#include 
int main()
{
  int **Arr; /*pointer to pointer*/
  int N, i;
  printf("OK, you can now input the size of your array!\n");
  scanf("%i", &N);
  printf("We'll create %d by %d an array of integers!\n", N,N);
  Arr = (int**)malloc(N*sizeof(int*));/*aray of pointers*/
  for(i=0;i
    {
      Arr[i] = (int*)malloc(N*sizeof(int));/* each row is an int*/
    }
  Arr[1][2] = 6;
  printf("%d\n", Arr[1][2]);
  free(Arr);
  return 0;
}

Теперь думай, как это сделать для даблов.

Good Luck,

UT

Heavy

for(i=0;i

free(Arr);

надо бы добавить перед free(Arr)

metal

Еще не плохо было бы проверять успешность malloc. И наконец, подумать что будет если я введу пару раз слишком большое или отрицательное число для размера массива.

А так значительный прогресс.

Uncle Theodore
metal
Еще не плохо было бы проверять успешность malloc. И наконец, подумать что будет если я введу пару раз слишком большое или отрицательное число для размера массива.

Ну да, там есть пара пропущенных моментов, но это ж просто иллюстрация…

А так значительный прогресс.

В каком смысле прогресс?

Good Luck,

UT

Heavy

«А так значительный прогресс.» Падстулом :)

metal
Uncle Theodore
В каком смысле прогресс?

UT

В сравнении с тем что он прошлый раз написал.