Технический форум

Технический форум (http://www.tehnari.ru/)
-   C/C++/С# (http://www.tehnari.ru/f42/)
-   -   Найти сумму элементов в тех столбцах (http://www.tehnari.ru/f42/t100096/)

BTS 15.12.2014 17:23

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


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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.