• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Найти сумму элементов в тех столбцах

  • Автор темы Автор темы BTS
  • Дата начала Дата начала

BTS

Ученик
Регистрация
13 Дек 2014
Сообщения
6
Реакции
0
Баллы
0
Найти сумму элементов в тех столбцах

[FONT=&quot] Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент.[/FONT] надо было написать с помощью указателей, написала и ничего не работает, может вы поможите найти ошибку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[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[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[j1]<0 && abs(mas[j1]) % 2 == 1)
temp += abs(mas[j1]);
if (mas[j1 + 1]<0 && abs(mas[j1 + 1]) % 2 == 1)
temp1 += abs(mas[j1 + 1]);
}
if (temp>temp1)
for (i = 0; i<n; i++)
{
temp = mas[j1];
mas[j1] = mas[j1 + 1];
mas[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];
if (mas[j]<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");
}
}
 
Назад
Сверху