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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2011, 15:50   #1
Kompotiz
 
Регистрация: 22.09.2011
Сообщений: 6
Восклицание ПРОСТЕЙШИЕ ФУНКЦИИ

Цитата:
"Выполнить упражнения из раздела «Двумерные массивы», оформив каждый пункт задания в виде функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается."
Вот собственно упражнение из двумерных массивов:
Цитата:
Дана целочисленная прямоугольная матрица. Определить:
1) сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент;
2) номера строк и столбцов всех седловых точек матрицы.
ПРИМЕЧАНИЕ:
Матрица А имеет седловую точку Аij, если Aij является минимальным элементом в i-й строке и максимальным в j-м столбце.
Это я выполнил
Код:
#include <stdio.h>
#include <conio.h>
int main()
{
    const    MAX_ELEMENTS = 4;
    int      m[MAX_ELEMENTS][MAX_ELEMENTS];
    int      sum=0,i,j,k=0,x,y,max=0,min=0;
    int fnegative = 0;
    FILE *in=fopen("in.txt","r");
    clrscr();
    printf("Massiv iz faila \n");
    for (i = 0; i < MAX_ELEMENTS; i++) {
	for (j = 0; j < MAX_ELEMENTS; j++){
	   fscanf(in,"%d", &m[i][j]);
	   printf("m[%d,%d]=%3d   ", i,j,m[i][j]);
	}
	printf("\n");
    }
    for (i = 0; i < MAX_ELEMENTS; i++){
	fnegative = 0;
	sum = 0;
	for (j = 0; j < MAX_ELEMENTS; j++){
	    if (m[i][j] < 0) {
		fnegative = 1;
	    }
	    sum += m[i][j];
	}
	if (fnegative)
	printf("\nSumma elementov v stroke %d gde esti hoti 1 otr el-ov =%d",i,sum);
    }
    printf("\n\nSedovaia to4ka");
    for (i = 0; i < MAX_ELEMENTS; i++){
	max=m[i][0]; x=0;
	for (j = 0; j < MAX_ELEMENTS; j++)
	   if (m[i][j] <= max) {max=m[i][j]; x=j;}//na6li maks v stroke
	for (k = 0; k < MAX_ELEMENTS; k++)
	   if (m[i][k]==m[i][x]){//esli maksim mnogo
	     min=m[i][x];
	     for (y = 0; y < MAX_ELEMENTS; y++)
		if (m[y][k]>min) min=m[y][k];
	     if (min==max) printf("\nstolbik =%d stroka =%d ",k,i);
	   }
    }
    getch();
    return 0;
}
Помогите разобраться с оформлением каждого пункта в виде функции.
Kompotiz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
простейшие класcы С# Konstantin_ua Помощь студентам 0 31.05.2011 17:19
Простейшие циклы. kazzz Помощь студентам 6 04.04.2011 17:33
Простейшие вычисления Nail361 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 29.03.2011 05:38
Простейшие вычисления AcidBurst Помощь студентам 3 01.11.2010 10:48
Простейшие задачки zoza1 Общие вопросы Delphi 1 11.09.2009 21:10