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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2014, 21:26   #1
sasha1212
Пользователь
 
Регистрация: 11.03.2014
Сообщений: 13
По умолчанию Для каждого элемента А(i,j) найти наиб.значение среди всех четных элементов в выделенной области

Для каждого элемента А(i,j) найти наиб.значение среди всех четных элементов в выделенной области.Результат представить в виде таблицы
Есть код,но он не работает,где ошибка,не знаю,все переделывал,но никак.Пожалуйста помогите мне с этой программой
Код:
#include <stdio.h>
#include <conio.h>
#include <iostream>
int C[100];
int s;
int A[20][20];
int poisk_max(void);


void vvod_massiva(int N,int M)
{int i;
 int j;
 printf("Vvedite kol-vo strok i stolbcov \n");
	scanf("%d %d",&N,&M);
 printf("Vvedite massiv: \n");
 for(i=1;i<N;i++)
      {for(j=1;j<=M;j++)
      scanf("%d",&A[i][j]);
      
      }
}

void vivod_massiva(int N,int M)
{
 int i,j;
 printf("\n Vash massiv: \n");
 for(i=1;i<=N;i++)
    {
     for(j=1;j<=M;j++)
	 printf("%d",A[i][j]);
	 printf("\n");
	 	
    }
}

int postroenieoblasti(int i,int j,int N,int M)
{
 int s,k,x,y;
 int max;
 k=1;
 x=i;
  for(j=y;j<=M;j--)                   //прямая
    {C[k]=A[x][y];
    k++;
    }
 s=k;
 y=j;
 for(x=i-1;x>0;x--)                  //верхня диагональ
    if(y<M)
	{C[k]=A[x][y+1];
	k++;
	} 
s=k;
y=j;
for(x=i+1;x<=N;x++)                  //нижняя диагональ
    if(y<M)
	   {
	   	C[k]=A[x][y+1];
	   	k++;
	   }
s=k;
poisk_max();
return max;	   	  
}

int poisk_max()
{
int k,max;
for(k=1;k<=s;k++)
    {
    
	if(C[k]%2==0)
     {
        max=C[k];
        break;
     }
 }
  for(k=1;k<=s;k++)
     {if(C[k]%2==0 && C[k]>max)
	      max=C[k];}
   return max;   
}


int main ()
{
	int N,M,i,j,B[20][20],a;
	a=1;
	
	vvod_massiva(N,M);
	vivod_massiva(N,M);
	printf("| N | i | j | rezultat |\n");
	printf("|   |   |   |          |\n");
	for(i=1;i<=N;i++)
	for(j=1;j<=M;j++)
	{
	B[i][j]=postroenieoblasti(i,j,N,M);
	a++;	
	}
printf("|%3d|%3d|%3d|%10d|",a,i,j,B[i][j]);
getch();

}
Изображения
Тип файла: jpg l9kMJP2A-Oo.jpg (85.2 Кб, 130 просмотров)
sasha1212 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан целочисленный массив X(N,M).среди элементов нечетных столбцов массива найти количество четных чисел. darwin1 Паскаль, Turbo Pascal, PascalABC.NET 1 15.03.2014 17:50
Подсчитать сумму каждого столбца матрицы и найти минимальное значение среди полученных сумм и Программа печатающую фамилию ученика danil663 Паскаль, Turbo Pascal, PascalABC.NET 12 19.06.2013 13:41
Найти значение максимального элемента среди четных в массиве! phreaker228 Помощь студентам 8 11.12.2012 01:49
Найти и вывести на экран индексы четных элементов каждой строки и нечетных элементов каждого столбца. Richik123 Помощь студентам 0 27.11.2012 16:29
массиве X(N) найти максимальный элемент среди положительных элементов массива и минимальный среди отрицательных элементов. sorok Общие вопросы C/C++ 2 20.03.2012 12:18