Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305

количество чисел, совпадающих с номером столбца, в которых они находятся

01.04.2010, 18:54. Показов 4276. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача такая:

Дана целочисленная прямоугольная матрица. Определить:
1) сумму элементов тех строк, которые содержат хотя бы один нулевой элемента;
2) количество чисел, совпадающих с номером столбца, в которых они находятся.

Вот мой вариант кода:
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 <time.h>
#include<stdlib.h>
int input (int n, int m){
     printf("Enter n: ");  
     scanf("%i",&n);     
     printf("Enter m: ");  
     scanf("%i",&m);
}
 
int Rand_mas (int** matr,int n, int m){
  int** matr = new int *[n];   
  for(int i=0; i<n; i++)
   matr[i] = new int [m];  
   srand (time (0));
  for(int i=0; i<n; i++){ 
   for(int j=0; j<m; j++){ 
   matr[i][j]=0 + (rand() % 5);
    printf("%3i ",matr[i][j]);
  } 
   printf("\n");
 }
 printf ("\n");
  
 int schet_str (int** matr,int sum){
     sum=0;
 for (int i=0; i<n; i++){
     k=0; sum_i=0;
     for (int j=0; j<m; j++){
         sum_i+= matr[i][j];
         if (matr[i][j]==0) k=1;
     }
     if (k==1) sum+=sum_i;
 }
printf ("sum =  %5i ", &sum);
printf ("\n");
 }
 
 int schet_stb (int** matr,int sum_ch,int b){
     for (int i=0; i<n; i++){
    b=0;sum_ch=0;
    for(int j=0; j<m; j++){
        if (matr[i][j]==j) b=1;
    }
}   if (b==1) sum_ch++;
printf ("sum_ch = %i", &sum_ch);
 }
 int del_matr (int** matr){
      for (int i=0; i<n; i++){
      delete [] matr[i];
  }
  delete [] matr;
 }
 
int main(){ 
  int n,m,sum,k,sum_i,sum_ch,b;
 
  int** matr = new int *[n];
  
  input (int n, int m)
  Rand_mas (int** matr,int n, int,m)
  schet_str (int** matr,int sum)
  schet_stb (int matr[i][j],int sum_ch,int b)
  del_matr (int matr[i][j])
 
  return 0;
}
Но выдает 6 ошибок. Найти не могу. Помогите)))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2010, 18:54
Ответы с готовыми решениями:

Заменить отрицательные элементы суммой номера столбца и номера строки, в которых они находятся
Входные данные: целочисленный массив А размером m х n, где m = 2, n = 4. Заменить отрицательные элементы суммой номера столбца и номера...

Определить количество введенных чисел значения которых находятся в заданном интервале
С клавиатуры вводятся действительные числа.Признак конца ввода-0. Определить количество чисел удовлетворяющих условию aє

Сумма элементов массива, у которых сумма индексов, на которых они находятся, - четное число. Проверить код
нужно найти сумму элементов массива, у которых сумма индексов, на которых они находятся, четное число. вот что я написал, но код не...

41
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
01.04.2010, 20:23  [ТС]
Студворк — интернет-сервис помощи студентам
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
#include <stdio.h> 
#include <time.h>
#include<stdlib.h>
int input (int n, int m){
     printf("Enter n: ");  
     scanf("%i",&n);     
     printf("Enter m: ");  
     scanf("%i",&m);
}
 
int Rand_mas (int** matr,int n,int m){
  matr = new int *[n];   
  for(int i=0; i<n; i++){
   matr[i] = new int [m]; 
   srand (time (0));
      for(int i=0; i<n; i++){ 
          for(int j=0; j<m; j++){ 
              matr[i][j]=0 + (rand() % 5);
              printf("%3i ",matr[i][j]);
          } printf("\n");
      } printf ("\n");
    }
}
 
 int schet_str (int** matr,int sum, int k, int sum_i, int n, int m){
     sum=0;
 for (int i=0; i<n; i++){
     k=0; sum_i=0;
     for (int j=0; j<m; j++){
         sum_i+= matr[i][j];
          if (matr[i][j]==0) k=1;
     }
     if (k==1) sum+=sum_i;
 }
printf ("sum =  %5i ", &sum);
printf ("\n");
 }
 
 int schet_stb (int** matr,int sum_ch,int b,int m, int n){
     for (int i=0; i<n; i++){
    b=0;sum_ch=0;
    for(int j=0; j<m; j++){
        if (matr[i][j]==j) b=1;
    }
}   if (b==1) sum_ch++;
printf ("sum_ch = %i", &sum_ch);
 }
 int del_matr (int** matr, int n){
      for (int i=0; i<n; i++){
      delete [] matr[i];
  }
  delete [] matr;
 }
 
int main(){ 
  int n,m,sum,k,sum_i,sum_ch,b;
 
  int** matr = new int *[n];
  
  int input (int n, int m);
  int Rand_mas (int** matr,int n,int m);
  int schet_str (int** matr,int sum);
  int schet_stb (int** matr,int sum_ch,int b);
  int del_matr (int** matr);
 
 
  return 0;
}
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.04.2010, 20:51
НИчё не понимаю.
ДЛя ввода данных вызывается функция input

В какой строке у тебя вызов функции input?
0
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
01.04.2010, 20:54  [ТС]
Цитата Сообщение от kravam Посмотреть сообщение
НИчё не понимаю.
ДЛя ввода данных вызывается функция input

В какой строке у тебя вызов функции input?
В main
C++
1
int input (int n, int m);
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.04.2010, 21:03
Ничё подобного.
Это прототип функции

ВЫзываться будет так:
C++
1
input (n, m);
И вообще не нравится мне это всё. Я, пожалуй, умою руки. У тебя в определении функции schet_str

прописано 6 параметров. А ты вызываешь её с двумя. Причём вызываешь, как не
следовало бы вызывать. И я должен поверить, что всё это работает?
0
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
01.04.2010, 21:18  [ТС]
Ну я не знаю Вот и прошу о помощи
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.04.2010, 21:31
Это не язык С и не язык С++, не знаю я, в чём дело. Иследуй это дело и создай тему: почему прототип функции работает как вызов?

У меня вот он не работает как вызов, например.
0
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
01.04.2010, 21:35  [ТС]
Ну я вот щас функцию main написал так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main(){ 
  int n,m,sum,k,sum_i,sum_ch,b;
 
  int** matr = new int *[n];
  
  input (n,m);
  Rand_mas (matr,n,m);
  schet_str (matr,sum,k,sum_i,n, m)
  schet_stb (matr,sum_ch,b,m,n);
  del_matr (matr,n);
 
 
  return 0;
}
Да и в принципе не в этом дело даже. Мне интересно почему он не считает построкам и по столбца. выдает все время огромадное число
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.04.2010, 22:14
А мне интересно, почему ты работаешь с одним кодом, а мне даёшь другой.
Введи 8 и 9 и дай сюда результат.
0
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
02.04.2010, 14:05  [ТС]
Ввел значения 8 и 9
Миниатюры
количество чисел, совпадающих с номером столбца, в которых они находятся  
0
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
02.04.2010, 14:07  [ТС]
Парни может еще кто поможет???
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
02.04.2010, 19:30
Ты вызываешь прогу из консоли?
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
02.04.2010, 21:49
1)
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
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
void Fill(int ** a, int N, int M);
void Print(const int * const* a, int N, int M);
int SumRow(const int * const* a, int N, int M, int K);
bool Zero(const int * const* a, int N, int M, int K);
 
int main()
{
    int N, M;
    cout << "Введите размерность матрицы -> ";
    cin >> N >> M;
    int ** A = new int * [N];
    for (int i = 0 ; i < N ; i++) A[i] = new int [M];
    Fill(A, N, M);
    cout << "Исходная матрица" << endl;
    Print(A, N, M);
    for (int i = 0 ; i < N ; i++) if (Zero(A, N, M, i+1))
    {
        cout << "Строка " << i+1 << " = " << SumRow(A, N, M, i+1) << endl;
    }
    for (int i = 0 ; i < N ; i++) delete [] A[i];
    delete [] A;
    return 0;
}
 
void Fill(int ** a, int N, int M)
{   
    srand((unsigned int)time(0));
    for (int i = 0 ; i < N ; i++)
    {
        for (int j = 0 ; j < M ; j++)
        a[i][j]=-50+rand()%101;
    }   
}
 
void Print(const int * const* a, int N, int M)
{
    for (int i = 0 ; i < N ; i++)
    {
        for (int j = 0; j < M ; j++)
        cout<<a[i][j]<<" ";
        cout<<endl;
    }
}
 
int SumRow(const int * const* a, int N, int M, int K)
{
    int s = 0;
    for (int i = 0 ; i < N ; i++)
    {
        s += a[K-1][i];
    }
    return s;
}
 
bool Zero(const int * const* a, int N, int M, int K)
{
    for (int i = 0 ; i < N ; i++) if (!a[K-1][i]) return true;
    return false;
}
0
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
03.04.2010, 07:11  [ТС]
Цитата Сообщение от kravam Посмотреть сообщение
Ты вызываешь прогу из консоли?
Ну да!

Добавлено через 2 минуты
Цитата Сообщение от k1ry4 Посмотреть сообщение
1)
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
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
void Fill(int ** a, int N, int M);
void Print(const int * const* a, int N, int M);
int SumRow(const int * const* a, int N, int M, int K);
bool Zero(const int * const* a, int N, int M, int K);
 
int main()
{
    int N, M;
    cout << "Введите размерность матрицы -> ";
    cin >> N >> M;
    int ** A = new int * [N];
    for (int i = 0 ; i < N ; i++) A[i] = new int [M];
    Fill(A, N, M);
    cout << "Исходная матрица" << endl;
    Print(A, N, M);
    for (int i = 0 ; i < N ; i++) if (Zero(A, N, M, i+1))
    {
        cout << "Строка " << i+1 << " = " << SumRow(A, N, M, i+1) << endl;
    }
    for (int i = 0 ; i < N ; i++) delete [] A[i];
    delete [] A;
    return 0;
}
 
void Fill(int ** a, int N, int M)
{   
    srand((unsigned int)time(0));
    for (int i = 0 ; i < N ; i++)
    {
        for (int j = 0 ; j < M ; j++)
        a[i][j]=-50+rand()%101;
    }   
}
 
void Print(const int * const* a, int N, int M)
{
    for (int i = 0 ; i < N ; i++)
    {
        for (int j = 0; j < M ; j++)
        cout<<a[i][j]<<" ";
        cout<<endl;
    }
}
 
int SumRow(const int * const* a, int N, int M, int K)
{
    int s = 0;
    for (int i = 0 ; i < N ; i++)
    {
        s += a[K-1][i];
    }
    return s;
}
 
bool Zero(const int * const* a, int N, int M, int K)
{
    for (int i = 0 ; i < N ; i++) if (!a[K-1][i]) return true;
    return false;
}
А можно на С++
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
03.04.2010, 07:34
А он тебе на чём написал?
Смотри, у него вызовы функций тоже как у меня, без int впереди.

У меня сильное подозрение, что ты используешь компилятор не языка C/C++ (читай: кодишь на каком-то другом языке) ибо у меня в голове не укладывается, я понимаю, синтаксис для разных компиляторов чуть-чуть разнится, но не настолько же. Либо компилятор настолько глюкавый.

Конечно, эти предположения архинеправдоподобны, но всегда надо исключать все невозможные варианты, тогда то, что останется и есть истина, какой бы неправдоподобной она не казалась.

Невозможные варианты для меня такие: ну не может нормальный рабочий компилятор C/C++ принимать это
C++
1
int input (int n, int m);
За вызов функции input. А утебя принимает. Серьёзно говорю тебе, разберись с этим. Я бы даже тему замутил, если бы сам не разобрался.
Ну или я ничё не понимаю в кодировании и мне пора на покой.
0
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
03.04.2010, 07:56  [ТС]
Цитата Сообщение от kravam Посмотреть сообщение
А он тебе на чём написал?
Смотри, у него вызовы функций тоже как у меня, без int впереди.

У меня сильное подозрение, что ты используешь компилятор не языка C/C++ (читай: кодишь на каком-то другом языке) ибо у меня в голове не укладывается, я понимаю, синтаксис для разных компиляторов чуть-чуть разнится, но не настолько же. Либо компилятор настолько глюкавый.

Конечно, эти предположения архинеправдоподобны, но всегда надо исключать все невозможные варианты, тогда то, что останется и есть истина, какой бы неправдоподобной она не казалась.

Невозможные варианты для меня такие: ну не может нормальный рабочий компилятор C/C++ принимать это
C++
1
int input (int n, int m);
За вызов функции input. А утебя принимает. Серьёзно говорю тебе, разберись с этим. Я бы даже тему замутил, если бы сам не разобрался.
Ну или я ничё не понимаю в кодировании и мне пора на покой.
Ты мог бы свой вариант показать со всеми исправлениями???
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
03.04.2010, 08:13
Просто-напросто взял твой код (сообщение 21) и исправил в нём функцию main на тобой же предложенную (сообщение 27). Вызвал прогу из консоли, ввёл 8, 9 и смотри что получилось:
...А у тебя СОВЕРШЕННО другой результат (сообщение 29)

Код одинаковый, а результаты абсолютно разные. Что я должен думать? Значит, у нас разные компиляторы (читай: кодим на разных языках).

Ну и код держи.
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
#include <stdio.h> 
#include <time.h>
#include<stdlib.h>
int input (int n, int m){
         printf("Enter n: ");  
     scanf("%i",&n);     
     printf("Enter m: ");  
     scanf("%i",&m);
}
 
int Rand_mas (int** matr,int n,int m){
  matr = new int *[n];   
  for(int i=0; i<n; i++){
   matr[i] = new int [m]; 
   srand (time (0));
      for(int i=0; i<n; i++){ 
          for(int j=0; j<m; j++){ 
              matr[i][j]=0 + (rand() % 5);
              printf("%3i ",matr[i][j]);
          } printf("\n");
      } printf ("\n");
    }
}
 
 int schet_str (int** matr,int sum, int k, int sum_i, int n, int m){
         sum=0;
 for (int i=0; i<n; i++){
         k=0; sum_i=0;
         for (int j=0; j<m; j++){
                 sum_i+= matr[i][j];
                  if (matr[i][j]==0) k=1;
         }
         if (k==1) sum+=sum_i;
 }
printf ("sum =  %5i ", &sum);
printf ("\n");
 }
 
 int schet_stb (int** matr,int sum_ch,int b,int m, int n){
         for (int i=0; i<n; i++){
        b=0;sum_ch=0;
        for(int j=0; j<m; j++){
                if (matr[i][j]==j) b=1;
        }
}   if (b==1) sum_ch++;
printf ("sum_ch = %i", &sum_ch);
 }
 int del_matr (int** matr, int n){
          for (int i=0; i<n; i++){
          delete [] matr[i];
  }
  delete [] matr;
 }
 
int main(){ 
  int n,m,sum,k,sum_i,sum_ch,b;
 
  int** matr = new int *[n];
  
  input (n,m);
  Rand_mas (matr,n,m);
  schet_str (matr,sum,k,sum_i,n, m);
  schet_stb (matr,sum_ch,b,m,n);
  del_matr (matr,n);
 
 
  return 0;
}
Миниатюры
количество чисел, совпадающих с номером столбца, в которых они находятся  
0
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
03.04.2010, 08:26  [ТС]
Не ну как бы матрицу то он у меня строит тоже все нормально. Так же случайными целыми числами. Проблема в том, что не считает:
1) сумму элементов тех строк, которые содержат хотя бы один нулевой элемента;
2) количество чисел, совпадающих с номером столбца, в которых они находятся.

Добавлено через 2 минуты
Реально выходит что у нас разные компиляторы. Потому что щас вставил твой код к себе и у меня выдал ваще какое то неочемное сообщение

Добавлено через 33 секунды
Странно очень.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
03.04.2010, 08:35
Сообщения-то как раз фигня. Это значит, допустим, что-то он не распознал. К примеру, в мой комплитор встроенные такие типы данных, а у тебя такие же есть (обязаны быть), но с другим именем. Это досадные недооразумения оставим на совести разработчиков компиляторов. А вот когда компиляторы хавают код, но дают разные результаты- это уже не фигня.

Дай свой код, хаваемый компилятором, только обязательно напиши вызовы функций, как я предлагаю (пусть он будет некорректно работать, это устранимо). Если твой компилятор не хавает мой вариант вызовов, то есть так:
C++
1
input (n,m);
Тогда языки разные
0
13 / 13 / 3
Регистрация: 28.04.2009
Сообщений: 62
03.04.2010, 16:47
Будет чего непонятно спрашивай.

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
#include <iostream>
 
using namespace std;
 
 
int input (int& n, int& m);
int Rand_mas (int** matr,int n, int m); 
int schet_str (int** matr,int& sum, int k, int sum_i, int n, int m);
int schet_stb (int** matr,int& sum_ch,int b,int m, int n);
int del_matr (int** matr, int n);
 
 
int main(){ 
    int n,m,sum,k,sum_i,sum_ch,b;
    input (n, m);
    int** matr = new int* [n];
    
    Rand_mas (matr,n,m);
    schet_str (matr,sum,k,sum_i,n,m);
    schet_stb (matr, sum_ch, b,m,n);
    del_matr (matr,n);
 
  return 0;
}
 
 
 
int input (int& n, int& m){
    
    printf("Enter n: ");  
    scanf("%i",&n);     
    printf("Enter m: ");  
    scanf("%i",&m);
}
 
int Rand_mas (int** matr,int n, int m){
     
    for(int i=0; i<n; i++){
        matr[i] = new int [m]; 
    }
    srand (time (0));
    for(int i=0; i<n; i++){ 
        for(int j=0; j<m; j++){ 
            matr[i][j]=0 + (rand() % 5);
            printf("%3i ",matr[i][j]);
        } printf("\n");
    } printf ("\n");
}
 
 
int schet_str (int** matr,int& sum, int k, int sum_i, int n, int m){
    sum=0;
    for (int i=0; i<n; i++){
        k=0; sum_i=0;
        for (int j=0; j<m; j++){
            sum_i+= matr[i][j];
            if (matr[i][j]==0){k=1;}
        }
        if (k==1) sum+=sum_i;
    }
    printf ("sum =  %5i ", sum);
    printf ("\n");
}
 
int schet_stb (int** matr,int& sum_ch,int b,int m, int n){
    sum_ch=0;
    for (int i=0; i<n; i++){
        b=0;
        for(int j=0; j<m; j++){
            if (matr[i][j]==j){b=1;}
        }
    }
    if (b==1) sum_ch++;
    printf ("sum_ch = %i", sum_ch);
}
 
int del_matr (int** matr, int n){
    for (int i=0; i<n; i++){
        delete [] matr[i];
    }
    delete [] matr;
}
1
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
04.04.2010, 18:37  [ТС]
Мой код такой:

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 <time.h>
#include <stdlib.h>
int input (int n, int m){
     printf("Enter n: ");  
     scanf("%i",&n);     
     printf("Enter m: ");  
     scanf("%i",&m);
}
 
int Rand_mas (int** matr,int n,int m){
  matr = new int *[n];   
  for(int i=0; i<n; i++){
   matr[i] = new int [m]; 
   srand (time (0));
      for(int i=0; i<n; i++){ 
          for(int j=0; j<m; j++){ 
              matr[i][j]=0 + (rand() % 5);
              printf("%3i ",matr[i][j]);
          } printf("\n");
      } printf ("\n");
    }
}
 
 int schet_str (int** matr,int sum, int k, int sum_i, int n, int m){
     sum=0;
 for (int i=0; i<n; i++){
     k=0; sum_i=0;
     for (int j=0; j<m; j++){
         sum_i+= matr[i][j];
          if (matr[i][j]==0) k=1;
     }
     if (k==1) sum+=sum_i;
 } printf ("sum =  %5i ", &sum);
printf ("\n");
 }
 
 int schet_stb (int** matr,int sum_ch,int b,int m, int n){
     for (int i=0; i<n; i++){
     b=0;sum_ch=0;
     for(int j=0; j<m; j++){
         if (matr[i][j]==j) b=1;
     }
     }if (b==1) sum_ch++;
  printf ("sum_ch = %i", &sum_ch);
 }
 int del_matr (int** matr, int n){
      for (int i=0; i<n; i++){
      delete [] matr[i];
  }
  delete [] matr;
 }
 
int main(){ 
  int n,m,sum,k,sum_i,sum_ch,b;
 
  int** matr = new int *[n];
  
  input (n,m);
  Rand_mas (matr,n,m);
  schet_str (matr,sum,k,sum_i,n, m)
  schet_stb (matr,sum_ch,b,m,n);
  del_matr (matr,n);
 
 
  return 0;
}
И вот что выдает теперь и мой код:
Миниатюры
количество чисел, совпадающих с номером столбца, в которых они находятся  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.04.2010, 18:37

Определить максимальный и минимальный элементы матрицы и поменять столбцы, в которых они находятся
Задана матрица целых чисел. Определить максимальный и минимальный элементы этой матрицы и поменять столбцы, в которых они находятся.

Массив: Вычислить произведение нечетных элементов, значение которых вдвое больше, чем место, где они находятся...
Дается одномерный вектор. Напишите программу, которая вычисляет произведение нечетных элементов, значение которых вдвое больше, чем место,...

В массиве заменить отрицательные элементы номером столбца, в котором они находятся
В массиве Q(m=5,n=2) заменить отрицательные элементы номером столбца, в котором они находятся: program Igor; {$APPTYPE CONSOLE} ...

Заменить отрицательные элементы матрицы номером столбца, в котором они находятся
Всем доброго времени суток! Помогите решить задачу! Заранее спасибо! В массиве Q(m,n) заменить отрицательные элементы номером...

Переименование файлов по имени папок, в которых они находятся
Доброго времени суток. Не программист, сам бат-ники писать их не умею, знаю только, что с их помощью можно решить мою проблему. ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru