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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2014, 16:26   #1
BTS
Пользователь
 
Регистрация: 13.12.2014
Сообщений: 11
По умолчанию Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент

Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент. надо было написать с помощью указателей, написала и ничего не работает, может вы поможете найти ошибку.
Вот код:
Код:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
void main()
{
	int **mas, n, m, i, j, j1, temp, temp1, sum, fl;
	printf("Vvedite colichestvo strok mathicy: ");
	scanf_s("%d", &n);
	if (n <= 0) printf("Error");
	else
		printf("\nVvedite colichestvo stolbcov mathicy: ");
	scanf_s("%d", &m);
	if (m <= 0) printf("Error");
	if (!(mas = (int**)malloc(n*m*sizeof(int))))
	{
		puts("out of memory");
		_getch();
		return;
	}
	for (i = 0; i<n; i++)
	for (j = 0; j<m; j++)
		mas[i][j] = i + j;
	printf("\nVvedite element matricy: ");
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
		{
			printf("Input [%d,%d]\n", i + 1, j + 1);
			scanf_s("%d", &mas[i][j]);
		}
		printf("\n");
	}

	printf("\nIshodnay matrica\n");
	for (i = 0; i<n; i++)
	{
		for (j = 0; j<m; j++)
		{
			printf("%d\t", *(*(mas + i) + j));
		}
		printf("\n");
	}
	for (j = 0; j<m - 1; j++)
	for (j1 = 0; j1<m - 1 - j; j1++)
	{
		temp1 = temp = 0;
		for (i = 0; i<n; i++)
		{
			if (mas[i][j1]<0 && abs(mas[i][j1]) % 2 == 1)
				temp += abs(mas[i][j1]);
			if (mas[i][j1 + 1]<0 && abs(mas[i][j1 + 1]) % 2 == 1)
				temp1 += abs(mas[i][j1 + 1]);
		}
		if (temp>temp1)
		for (i = 0; i<n; i++)
		{
			temp = mas[i][j1];
			mas[i][j1] = mas[i][j1 + 1];
			mas[i][j1 + 1] = temp;
		}
	}
	printf("\nPolucennay matrica\n");
	for (i = 0; i<n; i++)
	{
		for (j = 0; j<m; j++)
		{
			printf("%d\t", *(*(mas + i) + j));
		}
		printf("\n");
	}
	for (i = 0; i<m; i++)
	{
		sum = 0;
		fl = 0;
		for (j = 0; j<n; j++)
		{
			sum += mas[j][i];
			if (mas[j][i]<0)
				fl = 1;
		}
		printf("v stolbce %d ", i + 1);

		if (fl == 1)
			printf(" Ect' otricatel'ny element i summa ego elementov ravna %d\n", sum);
		else
			printf(" net otricatel'nogo elementa \n");
	}
}

Последний раз редактировалось Stilet; 15.12.2014 в 17:13.
BTS вне форума Ответить с цитированием
Старый 15.12.2014, 16:42   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Поместите пожалуйста свой код в теги (#)
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 15.12.2014, 17:13   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Поместите пожалуйста свой код в теги (#)
Нонешней молодежи религия не позволяет )
Все на модеров слили.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив из n элементов. Определить сумму тех, которые нечетные и отрицательные Evgenii_95 Паскаль, Turbo Pascal, PascalABC.NET 1 11.12.2014 09:43
найти сумму элементов в столбцах матрицы Sv. Общие вопросы C/C++ 6 12.12.2012 18:04
Дана целочисленная квадратная матрица. Определить сумму элементов в тех строках, которые содержат хотя бы один отрицательный элеме EvgeniyPR Помощь студентам 0 18.11.2012 20:02
Найти минимальный элемент среди всех элементов тех строк заданной матрицы, которые упорядочены по убыванию. KObotan Общие вопросы C/C++ 4 16.09.2012 14:54
Вычислить сумму тех элементов преобразованного массива, которые находятся в диапазоне [–1, 16] Mirel Паскаль, Turbo Pascal, PascalABC.NET 2 04.04.2010 10:58