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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2014, 08:44   #1
novichok_yu
 
Регистрация: 25.05.2014
Сообщений: 5
По умолчанию найти минимальный из максимальных элементов столбцов (С)

нужно найти минимальный из максимальных элементов столбцов.
сижу уже над программой несколько дней, а она находит максимальный элемент первого столбца.
что не так?
Код:
#include <stdlib.h>
#include <stdio.h>
#define N 3
#define M 4
main()
{
float mas[N][M], max, min;
int i, j;
for (i=0; i<N; i++)
	 for (j=0; j<M; j++)
	  {
	  printf ("vvedi element s nomerom (%d,%d): ", i+1, j+1);
	  scanf ("%f", &mas[i][j]);
      }

max=mas[0][0];

for(i=1; i<N; i++)
{
 if(max<mas[i][0])
  max=mas[i][0];
}
min=max;

for( j=1; j<M; j++)
{
max=mas[0][j];
 for( i=1; i<N; i++)
  {
  if(max<mas[i][j])
    max=mas[i][j];
 if(min>max)
  min=max;
  }
}
printf("min=%f\n", min);
system ("PAUSE");
return 0;
}
novichok_yu вне форума Ответить с цитированием
Старый 25.05.2014, 09:30   #2
novichok_yu
 
Регистрация: 25.05.2014
Сообщений: 5
По умолчанию

помогите, пожалуйста!)
novichok_yu вне форума Ответить с цитированием
Старый 25.05.2014, 09:34   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию


Проверяйте, если есть непонятные моменты пишите...
Код:
#include <stdio.h>
#include <stdlib.h>

#define N 3
#define M 4

int Min(int, int);
int Max(int, int);

int main() {
	int mas[N][M] = {{2, 5, 3, 8},{-1, 6, 10, 3},{6, 2, 0, 4}};
	int i, j;
	int min;
	int max;
	system("chcp 1251 > nul");
	
	printf("\n Исходный массив\n ---------------\n");
	// Вывод исходного массива
	for(i = 0; i < N; i++) {
		for(j = 0; j < M; j++) {
			printf(" [%2d]", mas[i][j]);
		}
		printf("\n");
	}
	
	printf("\n Результат:\n ----------");
	for(j = 0; j < M; j++) {
		min = mas[0][j];
		max = mas[0][j];
		for(i = 0; i < N; i++) {
			min = Min(min, mas[i][j]);
			max = Max(max, mas[i][j]);
		}
		printf("\n %d-й столбец: min = %2d, max = %2d\n", j, min, max);
	}
	printf("\n");
        system("pause");
	return 0;
}

/* Функция нахождения минимального элемента */
int Min(int a, int b) {
	return (a < b) ? a : b;
}

/* Функция нахождения максимального элемента */
int Max(int a, int b) {
	return (a > b) ? a : b;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 25.05.2014, 09:58   #4
novichok_yu
 
Регистрация: 25.05.2014
Сообщений: 5
По умолчанию

Программа работает, спасибо!
А Вы можете объяснить. что в моей неправильно было? по задумке она должна находить максимальный элемент каждого столбца. а потом из него минимальный выбирать..
novichok_yu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти минимальный элемент среди элементов, находящихся в строках, в которых положительных элементов меньше, чем отрицательных. Kirillgr Помощь студентам 19 03.02.2014 01:50
Pascal/ Найти сумму максимальных элементов 3ех массивов. lMasterl Помощь студентам 8 26.09.2010 17:30
Паскаль-Найти сумму максимальных элементов строк матрицы tanyhaftv Помощь студентам 9 24.03.2010 16:03
сумма максимальных значений элементов столбцов матрицы motaro Помощь студентам 2 26.11.2009 19:00