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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти наибольший элемент из четных 
:(
    Опции темы
sasha1212
Дата 11.12.2014, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Для каждого элемента матрицы найти наибольший элемент из четных  из выделенной области.Помогите пожалуйста,программа почему то  неправильно создает область,где может быть ошибка?Никаких мыслей уже нет,все что можно перепробовал



Код

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

int A[20][20];
int C[100];
int N,M;
int k,s;
int poisk_max(int);


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

void vivod_massiva()
{
 int i,j;
 printf("\n Vasha matrica \n");
 for(i=0;i<=N;i++)
    {
     for(j=0;j<=M;j++)
     printf("%d ",A[i][j]);
     printf("\n");
        
    }
}

int postroenieoblasti(int x,int y)
{

 int W;
 int i,j;
 int max;
 

    k=1;
  for(i=x,j=y;j>=0;j--)                 //i?yiay
      {
      C[k]=A[i][j];

      k++; }

    for(i=x-1,j=y+1;i>=1,j<=M;i--,j++)    // aa?oiyy aeaaiiaeu
      
      {
        
        
        C[k]=A[i][j];
        k++;
        
            

}
                    
  for(i=x+1,j=y+1;i<=N,j<=M; i++,j++)    // ie?iyy aeaaiiaeu
        
            {
            C[k]=A[i][j];
             k++;
        
             
   }
 s=k;
W=poisk_max(s);

return W;

}

int poisk_max(int s)
{
int max;
  for(k=0;k<=s;k++)
      {
        printf("%d",C[k]);
      }
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 i,j,a,x,y;
          
    vvod_massiva();
    vivod_massiva();

printf("| N | i | j | rezultat |\n");
printf("|   |   |   |          |\n");

    a=1;
    for(x=0;x<=N;x++)
    for(y=0;y<=M;y++)

{

A[x][y]=postroenieoblasti(x,y);

printf("|%3d|%3d|%3d|%10d|\n",a,x,y,A[x][y]);
a++;
}

getch();

}

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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

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



Вы дублируете темы.


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

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

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

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

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


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

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


 




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


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

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