Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > C/C++/С#


Ответ
 
Опции темы Опции просмотра
Старый 15.12.2014, 17:23   #1 (permalink)
BTS
Новичок
 
Регистрация: 13.12.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Найти сумму элементов в тех столбцах

Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент. надо было написать с помощью указателей, написала и ничего не работает, может вы поможите найти ошибку
#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");
}
}
BTS вне форума   Ответить с цитированием

Старый 15.12.2014, 17:23
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На форуме уже встречались схожие проблемы, посмотрите

Помогите найти номиналы элементов
Вычислить сумму и число отрицательных элементов матрицы
Дан массив A(n,m). Найти количество элементов в каждой строке, меньшего диагонального
Помогите найти сумму

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 18:50.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.