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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2009, 16:14   #1
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию C++ массивы - неправильно выводит мнимальный и максимальный элемент(((

Программа написана, но она неправильно выводит результат минимального и максимального элемента (выводит их несколько, а в матрице минимальный и максимальный элемент должен быть только один). Где-то напутано со скобками, я уже просмотрела все варианты, но все равно вывод результатов неправильный.
Помогите пожалуйста, поправьте код

Код:

#include "stdafx.h"
#include <conio.h>
#include <time.h>
#define n 10
#include <iostream>

using namespace std;

void SumElement (int A [][n], int Rows=n);
int Rows;
void MinElement (int A [][n], int Rows=n);
void MaxElement (int A [][n], int Rows=n);


void main()
{
    srand( (unsigned)time( NULL ) );
        int i,j,  A[10][10];
	
		{
			for (i=0; i<n; i++)
			{       
			for (j=0; j<n; j++)   {  A[i][j]=rand()%100;   cout<<A[i][j]<<"  ";   }
		cout<<endl;
			}
        cout<<"***********************************************************************";
		cout<<endl;
		}
SumElement (A, Rows);
MinElement (A, Rows);
MaxElement (A, Rows);
	_getch();
}

//******************************************************************************
void SumElement (int A [][n], int Rows)
{	int i, j,  Sum ;
	Sum=0;
	Rows=n;
		for (i = 0; i < Rows; i++) 
		for  (j = 0;  j < n; j++)
			{Sum+=A[i][j];}
	
	
		cout<<"Summa elementov = "<< Sum<<endl;
	
		cout<<"***********************************************************************";
		cout<<endl;	
}

//******************************************************************************

void MinElement (int A [][n], int Rows)

{	int i, j, IminA, JminA;

	IminA=JminA=0;
	Rows=n;

		for (i = 0; i < Rows; i++) 
		for  (j = 0;  j < n; j++)
		{if (A[i][j]<A[IminA][JminA])
			{ IminA=i;  JminA=j;    
				cout<<"minimalniy element ="<<A[IminA][JminA] <<" rjad= "<<IminA+1<<"  ja stolbets= " << JminA+1 <<endl;
			}
		}
		cout<<"***********************************************************************";
		cout<<endl;	
}

//************************************************************************************
void MaxElement (int A [][n], int Rows)
{	int i, j, ImaxA, JmaxA;

	ImaxA=JmaxA=0;
	Rows=n;

		for (i = 0; i < Rows; i++) 
		for  (j = 0;  j < n; j++)
			{if (A[i][j]>A[ImaxA][JmaxA])
				{ ImaxA=i;  JmaxA=j;    
					cout<<"maximalniy element ="<<A[ImaxA][JmaxA] <<" rjad= "<<ImaxA+1<<"  ja stolbets= " << JmaxA+1 <<endl;
				}
			}
		cout<<"***********************************************************************";
		cout<<endl;	
}
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 02.12.2009, 15:46   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Код:
//******************************************************************************

void MinElement (int A [][n], int Rows)

{	int i, j, IminA, JminA;

	IminA=JminA=0;
	Rows=n;

		for (i = 0; i < Rows; i++) 
		for  (j = 0;  j < n; j++)
		{if (A[i][j]<A[IminA][JminA])
			{ IminA=i;  JminA=j;    
				cout<<"minimalniy element ="<<A[IminA][JminA] <<" rjad= "<<IminA+1<<"  ja stolbets= " << JminA+1 <<endl;
			}
		}
		cout<<"***********************************************************************";
		cout<<endl;	
}

д.б

Код:
void MinElement (int A [][n], int Rows)
{
int i, j, IminA, JminA;
IminA=JminA=0;
 Rows=n;
 for (i = 0; i < Rows; i++)
 for  (j = 0;  j < n; j++)
   {
   if (A[i][j]<A[IminA][JminA])
    {
    IminA=i;  JminA=j;
     }
    }
    cout<<"minimalniy element ="<<A[IminA][JminA] <<" rjad= "<<IminA+1<<"  ja stolbets= " << JminA+1 <<endl;
cout<<"***********************************************************************";
cout<<endl;
}
т.е. вывод на печать после полного окончания цикла сравнения,
то же и в функции по определению мах элемента.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Максимальный элемент побочной диагонали матрицы Mariya0202 Помощь студентам 8 16.10.2009 09:05
Максимальный элемент матрицы gessi Паскаль, Turbo Pascal, PascalABC.NET 2 14.09.2009 09:23
Массив. Найти максимальный элемент perojenko Помощь студентам 6 22.06.2009 22:36
удалить максимальный элемент из квадратной матрицы rev1ver Паскаль, Turbo Pascal, PascalABC.NET 6 20.01.2009 15:31
Максимальный элемент массива j_Q Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 04.11.2008 22:48