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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2010, 22:06   #1
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
Хорошо Си Двумерные массивы

Дана матрица 4х7
Найти произведение элементов столбцов которые расположены между столбцами содержащими min и max элементы
Код:
#include<conio.h>
#include<stdio.h>

#define NROWS 4
#define NCOLS 7

int main() {
   
   float    a[NROWS][NCOLS];
   int i,j,k=0,s=0,p=1,min,max;
   
   for ( i = 0; i < NROWS; i++ )
      for ( j = 0; j < NCOLS; j++ )
         scanf("%f", &a[i][j] );
         max=-10000;
         min=10000;
         
         for ( i = 0; i < NROWS; i++ )
      for ( j = 0; j < NCOLS; j++ )
      {
      if(a[i][j]<min) {min=a[i][j];
      k=j;}
       else {
                   if (a[i][j]>max) {s=j;
                                    max=a[i][j];}}}
                                    if (k>s) {
         for ( j = s; j < k; j++ )
         p=p*a[i][j];}
         else 
         {for ( j = k; j < s; j++ )
         p=p*a[i][j];}
         
         
         
         printf( "Ishodnaya matritsa:\n" );
   for ( i = 0; i < NROWS; i++ ) {
      for ( j = 0; j < NCOLS; j++ ) 
         printf( "%3.f   ", a[i][j] );
      printf( "\n" );}
      printf( "max=%d   min=%d\n",max,min );      
       printf( "\n" ) ;
       printf( "proizvedenie=%d", p );
      getch();
      
      return 0;
      }
помогите очень надо
Денни вне форума Ответить с цитированием
Старый 04.07.2010, 22:21   #2
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Табулируйте по-человечески свой код....

Код:
#include<conio.h>
#include<stdio.h>

#define NROWS 4
#define NCOLS 7


int main() {
   
   float    a[NROWS][NCOLS];
   int i,j,k=0,s=0,p=1,min,max;
   
   for ( i = 0; i < NROWS; i++ )
      for ( j = 0; j < NCOLS; j++ )
         scanf("%f", &a[i][j] );
   
   max=a[0][0];//никогда не присваивайте минимальному и максимальномц значениям
   min=a[0][0];//некие взятые с потолка числа.
         
   for ( i = 0; i < NROWS; i++ )
		for ( j = 0; j < NCOLS; j++ )
		{
		if(a[i][j]<min)
		{
			min=a[i][j];
			k=j;
		}
		else 
		{
			if (a[i][j]>max)
			{
				s=j;
                max=a[i][j];
			}
		}
		}

    if (k>s)
	{
		for (i = 0; i < NROWS, i++)
			for ( j = s; j < k; j++ )
				p=p*a[i][j];
	}
	else 
	{
		for (i = 0; i < NROWS, i++)
			for ( j = k; j < s; j++ )
				p=p*a[i][j];
	}
         
         
   printf( "Ishodnaya matritsa:\n" );
   for ( i = 0; i < NROWS; i++ ) {
      for ( j = 0; j < NCOLS; j++ ) 
         printf( "%3.f   ", a[i][j] );
      printf( "\n" );}
      printf( "max=%d   min=%d\n",max,min );      
       printf( "\n" ) ;
       printf( "proizvedenie=%d", p );
      getch();
      
      return 0;
      }
mMAg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двумерные массивы Горящее сердце Помощь студентам 2 26.05.2010 20:12
ДВУМЕРНЫЕ МАССИВЫ QEEN Паскаль, Turbo Pascal, PascalABC.NET 3 03.04.2009 13:24