Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
#1

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

01.04.2010, 18:54. Просмотров 2073. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2010, 18:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос количество чисел, совпадающих с номером столбца, в которых они находятся (C++):

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

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

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

Дана последовательность 100 целых чисел. Подсчитать сумму тех чисел, значения которых совпадают с их порядковым номером. - C++
Дана последовательность 100 целых чисел. Подсчитать сумму тех чисел, значения которых совпадают с их порядковым номером.

Найти номер строки и номер столбца матрицы, в которых находятся максимальный элемент - C++
задание 4 Задан двухмерный массив чисел. Элементы матрицы вводятся с клавиатуры. найти номер строки и номер столбца, в которых...

Определить номер строки и номер столбца матрицы, на пересечении которых находятся требуемые элементы - C++
В двумерном массиве определить номер строки и номер столбца, на пересечении которых находятся требуемые элементы массива: 1) Последний...

41
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
01.04.2010, 20:06 #16
Ясно, что по теме?
1
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
01.04.2010, 20:10  [ТС] #17
Цитата Сообщение от kravam Посмотреть сообщение
Ясно, что по теме?
Непонял? Мож лучше в асю??? [493466015]
0
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
01.04.2010, 20:15 #18
Дай последний код, с косяком который.
0
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
01.04.2010, 20:20  [ТС] #19
Да я нашел. Все исправил. Но вот подсчитывает он не правельно
0
Миниатюры
количество чисел, совпадающих с номером столбца, в которых они находятся  
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
01.04.2010, 20:22 #20
Щас началось самое трудное. Давай код, а я отлучусь ненадолго.
0
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
01.04.2010, 20:23  [ТС] #21
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
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
01.04.2010, 20:51 #22
НИчё не понимаю.
ДЛя ввода данных вызывается функция input

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

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

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

прописано 6 параметров. А ты вызываешь её с двумя. Причём вызываешь, как не
следовало бы вызывать. И я должен поверить, что всё это работает?
0
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
01.04.2010, 21:18  [ТС] #25
Ну я не знаю Вот и прошу о помощи
0
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
01.04.2010, 21:31 #26
Это не язык С и не язык С++, не знаю я, в чём дело. Иследуй это дело и создай тему: почему прототип функции работает как вызов?

У меня вот он не работает как вызов, например.
0
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
01.04.2010, 21:35  [ТС] #27
Ну я вот щас функцию 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
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
01.04.2010, 22:14 #28
А мне интересно, почему ты работаешь с одним кодом, а мне даёшь другой.
Введи 8 и 9 и дай сюда результат.
0
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
02.04.2010, 14:05  [ТС] #29
Ввел значения 8 и 9
0
Миниатюры
количество чисел, совпадающих с номером столбца, в которых они находятся  
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
02.04.2010, 14:07  [ТС] #30
Парни может еще кто поможет???
0
02.04.2010, 14:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2010, 14:07
Привет! Вот еще темы с ответами:

Массив 5х5. Вывод на печать номер строки и столбца и адреса , где они хранятся, для элементов, значения которых равны X... - C++
Вывод на печать номер строки и столбца и адреса , где они хранятся, для элементов, значения которых равны X , среди элементов,...

Найти элементы массива, в которых значение совпадает с порядковым номером и подсчитать их количество - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;iomanip&gt; using namespace std; int main(void) { int n,k=0; srand(time(NULL)); ...

Определить количество элементов матрицы у которых слева в его строке находятся элементы меньше его,а справа больше - C++
Задана матрица размером NxM. Определить количество элементов матрицы у которых слева в его строке находятся элементы меньше его,а справа...

Задана матрица целых чисел A(n,n). Все элементы столбца, с наибольшим номером, среди тех, где находится более двух простых элементов, заменить разно - C++
Задана матрица целых чисел A(n,n). Все элементы столбца, с наибольшим номером, среди тех, где находится более двух простых элементов,...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru