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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2009, 18:43   #1
Fe_DoS
Пользователь
 
Аватар для Fe_DoS
 
Регистрация: 30.01.2009
Сообщений: 12
По умолчанию C++, Матрицы

Здравствуйте, не могу решить задачу. Надо на С++ Написать программу.
Вот задание:
Дана прямоугольная матрица А(n,m) Найти сумму элементов строки и столбца ,
на пересечении которой расположен максимум элементов матрицы А
Нахождение номера строки и столбца на пересечении которых находиться
максимальный элемент матрицы А

Я попробовал сделать так:
Код:
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>

void main()
{
 int i, j, sum, im, jm;
 int s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;
 int s11,s12,s13,s14,s15,s16,s17,s18,s19,s20;
 int s21,s22,s23,s24,s25,s26,s27,s28,s29,s30;
 int s31,s32,s33,s34,s35,s36,s37,s38,s39,s40;
 int s41,s42,s43,s44,s45,s46,s47,s48,s49,s50;
 int A[5][10];
 im=1;
 jm=1;
 //vvodim matricu
 printf("Vvedite matricu 5x10:\n");
 scanf("%d",&s1);
 scanf("%d",&s2);
 scanf("%d",&s3);
 scanf("%d",&s4);
 scanf("%d",&s5);
 scanf("%d",&s6);
 scanf("%d",&s7);
 scanf("%d",&s8);
 scanf("%d",&s9);
 scanf("%d",&s10);
 printf("\n");
 scanf("%d",&s11);
 scanf("%d",&s12);
 scanf("%d",&s13);
 scanf("%d",&s14);
 scanf("%d",&s15);
 scanf("%d",&s16);
 scanf("%d",&s17);
 scanf("%d",&s18);
 scanf("%d",&s19);
 scanf("%d",&s20);
 printf("\n");
 scanf("%d",&s21);
 scanf("%d",&s22);
 scanf("%d",&s23);
 scanf("%d",&s24);
 scanf("%d",&s25);
 scanf("%d",&s26);
 scanf("%d",&s27);
 scanf("%d",&s28);
 scanf("%d",&s29);
 scanf("%d",&s30);
 printf("\n");
 scanf("%d",&s31);
 scanf("%d",&s32);
 scanf("%d",&s33);
 scanf("%d",&s34);
 scanf("%d",&s35);
 scanf("%d",&s36);
 scanf("%d",&s37);
 scanf("%d",&s38);
 scanf("%d",&s39);
 scanf("%d",&s40);
 printf("\n");
 scanf("%d",&s41);
 scanf("%d",&s42);
 scanf("%d",&s43);
 scanf("%d",&s44);
 scanf("%d",&s45);
 scanf("%d",&s46);
 scanf("%d",&s47);
 scanf("%d",&s48);
 scanf("%d",&s49);
 scanf("%d",&s50);
 A[0][0]=s1;
 A[0][1]=s2;
 A[0][2]=s3;
 A[0][3]=s4;
 A[0][4]=s5;
 A[0][5]=s6;
 A[0][6]=s7;
 A[0][7]=s8;
 A[0][8]=s9;
 A[0][9]=s10;
 A[1][0]=s11;
 A[1][1]=s12;
 A[1][2]=s13;
 A[1][3]=s14;
 A[1][4]=s15;
 A[1][5]=s16;
 A[1][6]=s17;
 A[1][7]=s18;
 A[1][8]=s19;
 A[1][9]=s20;
 A[2][0]=s21;
 A[2][1]=s22;
 A[2][2]=s23;
 A[2][3]=s24;
 A[2][4]=s25;
 A[2][5]=s26;
 A[2][6]=s27;
 A[2][7]=s28;
 A[2][8]=s29;
 A[2][9]=s30;
 A[3][0]=s31;
 A[3][1]=s32;
 A[3][2]=s33;
 A[3][3]=s34;
 A[3][4]=s35;
 A[3][5]=s36;
 A[3][6]=s37;
 A[3][7]=s38;
 A[3][8]=s39;
 A[3][9]=s40;
 A[4][0]=s41;
 A[4][1]=s42;
 A[4][2]=s43;
 A[4][3]=s44;
 A[4][4]=s45;
 A[4][5]=s46;
 A[4][6]=s47;
 A[4][7]=s48;
 A[4][8]=s49;
 A[4][9]=s50;

 //Nahodim maximum
 for(i=1; j<=4; i++)
 {
  for(j=1; j<=9; j++)
  {
   if(A[i][j] > A[im][jm])
   {
    im=i;
    jm=j;
   }
  }
 }

 //nahodim summu
 sum=0;
 for(i=1; i<4; i++)
 {
  sum=sum+A[i][jm];
 }

 for(j=1; j<10; j++)
 {
  sum=sum + A[im][j];
 }
 printf("MAXIMUM = ");
 printf("%d", &A[im][jm]);
 printf("SUMMA = ");
 printf("%d", &sum);
 getch();
}
Ничего не получилось программа не считает, выдаёт всегда одно и тоже число. Видимо куча ошибок, а я понять ничего не могу.
Помогите разобраться.
Fe_DoS вне форума Ответить с цитированием
Старый 02.10.2009, 19:20   #2
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

О боже..
Так пойдет..
Код:
#include <stdio.h>
#include <stdlib.h>

#define row  5
#define col  10
int main(){

	int arr[row][col];
	int i, j;
	int max;
	int i_max = 0, j_max = 0;
	int sum = 0;

	printf("Input matrix %dx%d\n", row, col);
	for(i = 0; i < row; ++i){
		for(j = 0; j < col; ++j){
			printf("arr[%d][%d] = ", i, j);
			scanf("%d", &arr[i][j]);
		}
	}

	printf("find max\n");

	max = arr[0][0];
	for(i = 0; i < row; ++i){
		for(j = 0; j < col; ++j){
			if(max < arr[i][j]){
				max = arr[i][j];
				i_max = i;
				j_max = j;
			}
		}
	}

	printf("Max = %d, i = %d, j = %d\n", max, i_max, j_max);

	for(i = 0; i < row; ++i)
		sum += arr[i][j_max];

	for(j = 0; j < col; ++j)
		sum += arr[i_max][j];

	printf("Summa = %d\n", sum);

	return 0;
}
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 02.10.2009, 19:32   #3
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Ну как-то так:
Код:
#include <stdio.h>
main()
{
  int xx,yy;
  printf("Введите размер матрици матирици: \n");
  scanf("%d",&xx);
  scanf("%d",&yy);
  printf("Введите массив %dx%d: \n",xx,yy);
  int mass[xx][yy];
  int c,x,y,z,max,nxmax,nymax,sum=0;
  //создание матрици
  for (x=0;x<xx;x++)
  {
    for (y=0;y<yy;y++)
    {
      scanf("%d",&c);
      mass[x][y]=c;
    }
  printf("\n");
  }
  //поиск максимума
  max=mass[0][0];
  for (x=0;x<xx;x++)
  {
    for (y=0;y<yy;y++)
    {
      if (mass[x][y]>max)
        {max=mass[x][y];nxmax=x;nymax=y;}
    }
  }
  printf("Введенный массив: \n");
  for (x=0;x<xx;x++)
  {
    for (y=0;y<yy;y++)
    {
      printf(" %d ",mass[x][y]);
    }
    printf("\n");
  }
  printf("\nmax = %d    Его координаты: x = %d   y = %d\n ",max,nxmax+1,nymax+1); //+1 массив то начинаеться не с 1 а с 0
  //ищем сумму
  for (x=0;x<xx;x++)
    sum=sum+mass[x][nymax];
  for(y=0;y<yy;y++)
    sum=sum+mass[nxmax][y];
  printf("Сумма равна: %d\n",sum);

}
dampirik вне форума Ответить с цитированием
Старый 02.10.2009, 19:34   #4
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Страницу не обновил...
так похожу программки))ну хотя.. тут велосипед не изобретешь)

Последний раз редактировалось dampirik; 02.10.2009 в 19:36.
dampirik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение матрицы методом союзной матрицы dofmat Помощь студентам 6 03.10.2011 15:01
Матрицы в c# Raptor5 Помощь студентам 11 24.09.2009 12:11
Сумма четных элементов матрицы. Произведение элементов 3-го столбца. Минимальный элемент матрицы. renovare Помощь студентам 2 03.07.2009 21:13
Матрицы FatalX Помощь студентам 21 17.04.2009 22:50
матрицы chelsi Паскаль, Turbo Pascal, PascalABC.NET 13 25.04.2008 10:07