Форум: Форум C++Разное
Новые темы: 00
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сумма особых элементов в матрице
 
 автор: Катя   (25.01.2007 в 15:04)   письмо автору
 
 

Необходимо подсчитать сумму особых элементов в массиве..элемент считается особым если он меньше элемента,находящегося справа от него и больше элемента слева,а также больше суммы элементов.находящихся в одном столбце с ним...программа в общем-то рабочая..вот только он никак не хочет выводить переменную S..подскажите почему..заранее спасибо
//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#pragma argsused
void main(int argc, char* argv[])
{
        int j_end,i_end,j,i;
        cout<<"vvedite razmernoost massiva \n";
        cin>>i_end;
        cin>>j_end;
        float mas[100][100];
        for (i=0;i<=i_end-1;i++)
                {for (j=0;j<=j_end-1;j++)
                        {
                        cout<<"vvedite element massiva ["<<i<<"]["<<j<<"] ";
                        cin>>mas[i][j];
                        }
                }

        cout<<"\n\n\n";
        float max,S;
        int max_j,fl=0;
                for (i=0;i<=i_end-1;i++)
                {max=mas[i][j];
                max_j=j;
                for (j=0;j<=j_end-1;j++)
                        {
                        if (max<mas[i][j])
                                {max=mas[i][j];
                                max_j=j;}
                        }
                         S=0;
                if ((max>mas[(i>0)?(i-1):(i_end-1)][max_j])&(max<mas[(i<i_end-1)?(i+1):(0)][max_j]))
                        {
                         fl=1;
                              S=S+max;
                         cout<<"naidena osobaya tochka ravnaya "<<max<<" koordinati i="<<i<<" j="<<max_j<<"\n";

                                 cout<<"summa ravna "<<S<<"\n"



                                                  }
                }
        if (fl=0)
                {cout<<"osobie tochki ne ndideni";}

        getch();
}
//---------------------------------------------------------------------------

  Ответить  
 
 автор: cheops   (25.01.2007 в 15:35)   письмо автору
 
   для: Катя   (25.01.2007 в 15:04)
 

Хм... странно, а у меня выводит, вот такой примерно ответ получаю
vvedite razmernoost massiva
5
3
vvedite element massiva [0][0] 7
vvedite element massiva [0][1] 4
vvedite element massiva [0][2] 3
vvedite element massiva [1][0] 3
vvedite element massiva [1][1] 3
vvedite element massiva [1][2] 2
vvedite element massiva [2][0] 2
vvedite element massiva [2][1] 5
vvedite element massiva [2][2] 2
vvedite element massiva [3][0] 2
vvedite element massiva [3][1] 5
vvedite element massiva [3][2] 2
vvedite element massiva [4][0] 5
vvedite element massiva [4][1] 2
vvedite element massiva [4][2] 3



naidena osobaya tochka ravnaya 5 koordinati i=4 j=0
summa ravna 5

У вас какие элементы матрицы?

  Ответить  
 
 автор: cheops   (25.01.2007 в 15:40)   письмо автору
 
   для: Катя   (25.01.2007 в 15:04)
 

Лучше вынести строку
cout<<"summa ravna "<<S<<"\n"

за пределы цикла, тогда нулевое значение тоже будет выводиться.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования