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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2013, 17:50   #1
Marusya293
Новичок
Джуниор
 
Регистрация: 12.04.2010
Сообщений: 2
По умолчанию Работа с массивом

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

Код:
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
void main(void)
{
  const int x=4,y=5;
  int i=0,j=0;
  int mas2[x][y]={0};
  int mas[x][y]={15, 10,  0, -6, 17,
				  3, 14,  8,  9,  2,
				  1,  5, 14, 20, -3,
				  7, 19, 10,  2,  0};
        printf("Array:\n");
	    for(int i=0;i<x;i++)
	       {
	        for(int j=0;j<y;j++)
			 printf("%d\t",mas[i][j]);
             printf("\n");
	       }

 int max1=0;
 printf("Array 1:\n");
for (i=0;i<x;i++)
       {
        max1=mas[i][0];
		
           for (j=0;j<y;j++)
               {
                if (mas[i][j]>max1)
                    max1=mas[i][j];
               } 
	        	printf("%d\t",max1);
				printf("\n");
       }

	for(int i=0;i<x;i++)
		{for(int j=0;j<y;j++)
			{
				mas2[i][j]=max1-mas[i][j];
	         }
	     }

	printf("Array 2:\n");
	    for(int i=0;i<x;i++)
	       {
	        for(int j=0;j<y;j++)
			printf("%d\t",mas2[i][j]);
            printf("\n");
	       }

system("pause");
  }


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 20.10.2013 в 18:13.
Marusya293 вне форума Ответить с цитированием
Старый 21.10.2013, 05:53   #2
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

судя по вашему коду вы отнимаете от всех элементов массива последний максимальный. Вам нужно что бы значения максимальных элементов содержались не в одной переменной,а в одномерном массиве. меняем max1 на max1[x] и понеслась!
Код:
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
int main(void)
{
  const int x=4,y=5;
  int i=0,j=0;
int max1[x];
  int mas2[x][y]={0};
  int mas[x][y]={15, 10,  0, -6, 17,
				  3, 14,  8,  9,  2,
				  1,  5, 14, 20, -3,
				  7, 19, 10,  2,  0};
        printf("Array:\n");
	    for(int i=0;i<x;i++)
	       {
                      for(int j=0;j<y;j++)
			 printf("%d\t",mas[i][j]);
             printf("\n");
	       }

 
 printf("Array 1:\n");
for (i=0;i<x;i++)
       {
  max1[i]=mas[i][0];     	
		
           for (j=0;j<y;j++)
               {
                if (mas[i][j]>[COLOR= max1[i])
                    max1[i]=mas[i][j];
               } 
	        	printf("%d\t",  max1[i]);
				printf("\n");
       }

	for(int i=0;i<x;i++)
		{for(int j=0;j<y;j++)
			{
				mas2[i][j]=  max1[i]-mas[i][j];
	         }
	     }

	printf("Array 2:\n");
	    for(int i=0;i<x;i++)
	       {
	        for(int j=0;j<y;j++)
			printf("%d\t",mas2[i][j]);
            printf("\n");
	       }
return 0;
system("pause");
  }
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!

Последний раз редактировалось SaLoKiN; 21.10.2013 в 06:02.
SaLoKiN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивом glebast Помощь студентам 1 20.02.2013 16:53
работа с массивом blain Помощь студентам 3 26.01.2012 23:51
работа с массивом novi4ok_Delphi Помощь студентам 4 24.03.2010 20:28
работа с массивом s2dentishe Помощь студентам 2 12.12.2009 22:35