Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для Alex53rus
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 47

Посчитать в матрице все столбцы, содержащие не менее 2 отрицательных элементов. Исправить ошибки

15.06.2014, 12:15. Показов 2978. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Сварганил программку, но компилятор ругается на ошибки. Помогите исправить их. Вот задача: Посчитать в матрице А (5х7) все столбцы, содержащие не менее 2 отрицательных элементов, а в матрице В (7х7) – столбцы, содержащие не менее 3 отрицательных элементов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <stdio.h>
#include <conio.h>
#define C 5
#define C1 7
int Inp_mas(int *p, int n, int m)
{
int i, j;
for (i=0; i<n; i++)
 for (j=0; j<m; j++)
 {
  printf("\n Input p=");
  scanf("%d", p);
  p++;
 }
 return 0;
 }
 void Outp_mas(int *p, int n, int m)
 {
 int i, j;
 for (i=0; i<n; i++)
  {
   for(j=0; j<m; j++)
   {
    printf("%d", *p);
    p++;
   }
   printf("\n");
  }
   return;
 }
 void Outp_mas1(int *p, int n)
 {
 int i;
 for(i=0; i<n; i++)
  {
   printf("%d", *p);
   p++;
  }
 printf("\n");
 return;
}
int Kol_mas(int *p, int m, int n, int t)
{
int k=0, h=0, pm=&s[0], j, i;
for (j=0; j<m; j++)
 {
  p=&a[0][0];
  p+=j;
   for (i=0; i<n; i++)
    {
     if (*p<0)
     {
      k=k+1;
     }
     else
     {
      p+=m;
     }
     if (k>=t)
     {
      s[h]=j;
      h++;
     }
     else
     {
      pm=&s[0];
     }
    }
 }
 return pm;
}
int main()
{
int g, d, t, l, *p1, *p2, *p3, a[C][C1], b[C1][C1];
do
 {
  printf("\n Input g=");
  scanf("%d", &g);
  printf("\n Input l=");
  scanf("%d", &l);
 }
 while (g<=0||g>C||l<=0||l>C1);
p1=&a[0][0];
p2=&b[0][0];
Inp_mas(p1,g,l);
Outp_mas(p2,g,l);
printf("\n");
Intp_mas(p2,d,l);
Out_mas(p1,d,k);
t=-1;
p3=Kol_mas(p1,d,k);
if (t!=-1)
 {
  Outp_mas(p3,h,l)
 }
else
 {
  t=-1;
 }
p3=Kol_mas(p1,g,l,h,t);
if (t!=-1)
 {
  Outp_mas1(p3,h,l);
 }
getch();
return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2014, 12:15
Ответы с готовыми решениями:

Удалить из матрицы все столбцы, содержащие не менее 2 отрицательных элементов
Напишите пожалуйста программу на функциях : Удалить из матрицы А (3х4) все столбцы, содержащие не менее 2 отрицательных элементов, а из...

В заданной матрице удалить все столбцы, содержащие максимальные элементы среди диагональных элементов
Сгенерировать матрицу размера NxN из случайных числел (N вводится с клавиатуры). Удалить все столбцы, содержащие максимальных элемент среди...

Поменять местами столбцы, содержащие минимальное и максимальное количество отрицательных элементов
Дана целочисленная прямоугольная таблица размером m×n. Поменять местами столбцы, содержащие минимальное и максимальное количество...

23
 Аватар для Alex53rus
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 47
18.06.2014, 23:16  [ТС]
Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
 
void inputArray(int *a, int row, int col)
{
    int i, j;
    for (i = 0; i < row; i++)
        for (j = 0; j < col; j++)
        {
            printf("element [%d][%d]:", i, j);
            scanf("%d", &a[i*col+j]);
        }
}
 
void outputArray(int *a, int row, int col)
{
    int i, j;
    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
            printf(" %d", a[i*col+j]);
        printf("\n");
    }
}
 
int checkCols(int *a, int row, int col, int k)
{
    int i, j, result = 0;
    for (j = 0; j < col; j++)
    {
        int count = 0;
        for (i = 0; i < row; i++)
            if (a[i*col+j] < 0) { count++; if (count == k) break; }
        if (count == k) result++;
    }
    return result;
}
 
#define n 3
#define m 4
 
int main(void)
{
    int a[n][m];
    int b[m][m];
    inputArray(&a[0][0], n, m);
    outputArray(&a[0][0], n, m);
    printf("Result for A: %d\n", checkCols(&a[0][0], n, m, 2));
    
    inputArray(&b[0][0], m, m);
    outputArray(&b[0][0], m, m);
    printf("Result for B: %d\n", checkCols(&b[0][0], m, m, 3));
    return 0;
}
Хедин, у меня вопрос: почему после запуска этого кода у меня антивирус ругается на присутствие трояна?

Добавлено через 12 минут
Цитата Сообщение от NOOBasi4 Посмотреть сообщение
What???
Что и где и конкретно что ограничивает???
Это условие ограничивает размерность матрицы. В библиотеке задана размерность и по условию, которое мы задаём, мы не можем превысить эту размерность матрицы. Щас я перепишу подобную прогу и продемонстрию эту хрень в рабочей версии.
0
1 / 1 / 0
Регистрация: 05.05.2014
Сообщений: 38
18.06.2014, 23:16
Цитата Сообщение от Alex53rus Посмотреть сообщение
почему после запуска этого кода у меня антивирус ругается на присутствие трояна?
глянь в этой теме обсуждалось.
"Dev-c++ (после компиляции программы антивирус распознает ее как вирус) / С++ для начинающих"

У меня та же тема была, проверил комп с LiveCD перестал ругаться ( ну и там соответственно что-то почистил антивирус)
0
 Аватар для Alex53rus
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 47
18.06.2014, 23:59  [ТС]
Цитата Сообщение от NOOBasi4 Посмотреть сообщение
глянь в этой теме обсуждалось.
"Dev-c++ (после компиляции программы антивирус распознает ее как вирус) / С++ для начинающих"
У меня та же тема была, проверил комп с LiveCD перестал ругаться ( ну и там соответственно что-то почистил антивирус)
Всё, понял, спасибо)

Добавлено через 28 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
#include <conio.h>
#define C 7
#define C1 6
int Inp_mas(int *p, int n, int m)
{
int i, j;
for (i=0; i<n; i++)
 for (j=0; j<m; j++)
 {
  printf("\n Input p=");
  scanf("%d", p);
  p++;
 }
 return 0;
}
void Out_mas(int *p, int n, int m)
{
int i, j;
for (i=0; i<n; i++)
 {
  for (j=0; j<m; j++)
  {
   printf("%d ", *p);
   p++;
  }
  printf("\n");
 }
 return;
}
int P_mas(int *p, int n, int m)
{
int i, j;
for (i=0; i<n; i++)
 for (j=0; j<m; j++)
 {
  if (*p<0)
  *p=(*p)*(*p);
  p++;
 }
 return 0;
}
int main()
{
int l, k, *p1, *p2, a[C][C1], b[C1][C];
do
 {
  printf("\n input l=");
  scanf("%d", &l);
  printf("\n input k=");
  scanf("%d", &k);
 }
 while (l<=0||l>C||k<=0||k>C1);
p1=&a[0][0];
p2=&b[0][0];
Inp_mas(p1,l,k);
Inp_mas(p2,k,l);
Out_mas(p1,l,k);
printf("\n");
Out_mas(p2,k,l);
P_mas(p1,l,k);
Out_mas(p1,l,k);
P_mas(p2,k,l);
Out_mas(p2,k,l);
getch();
return 0;
}
Вот она, та самая) Тут надо поменять отрицательные числа их квадратами.
0
 Аватар для Хедин
76 / 71 / 55
Регистрация: 17.05.2014
Сообщений: 301
19.06.2014, 05:21
Alex53rus, было бы странным подумать, что в этом коде может быть что то вредоносное) он же ни с файлами не работает, ни с системой, даже динамическую память не использует но, насколько я помню, у меня тоже несколько раз случалось такое с dev cpp, причем с разными прогами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2014, 05:21

В матрице В(4,4)обнулить строки, содержащие не меньше двух отрицательных элементов
В матрице В(4,4) обнулить строки, содержащие не меньше двух отрицательных элементов Ребят помогите сижу на экзамене

Проверьте, есть ли в матрице a(n,n) строки, не содержащие более 2-х отрицательных элементов
проверьте есть ли в матрице a(n,n) строки не содержащие более 2-х отрицательных элементов.для проверки строки используйте подпрограмму

В матрице удалить строки, содержащие более трех отрицательных элементов
В матрице А удалить строки, содержащие более трех отрицательных элементов и вывести соответствующее сообщение, если таких строк не окажется.

Проверьте, есть ли в матрице A(nxn) строки, не содержащие более двух отрицательных элементов
Проверьте,есть ли в матрице A(nxn) строки,не содержащие более двух отрицательных элементов. Для проверки строки используйте подпрограмму .

Посчитать количество отрицательных элементов в матрице
помогите очень нужно....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru