Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Матрица: нахождение повторяющихся элементов


Автор: nichego_ne_znau 28.12.2006, 19:00
[Borland C++]  Написать программу, находящуу все числа, каждое из которых встречается в 
КАЖДОЙ строке матрицы Сm*n...
ПОМОГИТЕ, ПОЖАЛУЙСТА!!

Автор: Vyacheslav 28.12.2006, 20:19
Для домашних заданий, курсовых, существует "Центр Помощи"

Тема перенесена! 

Автор: Kuvaldis 28.12.2006, 22:48

M
Kuvaldis

Название темы должно отражать ее суть! 
Посмотрите правила раздела вверху страницы!
 
 

Автор: nichego_ne_znau 28.12.2006, 22:57
дада, я уже поняла))

Автор: Pete 29.12.2006, 22:12
Код

#include <iostream>

int main( void )
{
  using namespace std;
  
  int m, n;
  cin >> m >> n;
  
  int **c;
  c = (int **) malloc( m*sizeof(int *) );
  for (int i = 0; i < m; i++)
    c[i] = (int *) malloc( n*sizeof(int) );
  
  int *a = (int *) malloc( n*sizeof(int) );
  
  for (int i = 0; i < m; i++)
    for (int j = 0; j < n; j++)
      cin >> c[i][j];
  
  int num, exists, ok;
  int k = 0;
  for (int i = 0; i < n; i++) {
    num = c[0][i];
    ok = 1;
    
    for (int j = 1; j < m; j++) {
      exists = 0;
      
      for (int k = 0; k < n; k++)
        if (c[j][k] == num) {
          exists = 1;
          break;
        }
      
      if (!exists) {
        ok = 0;
        break;
      }
    }
    
    if (ok) {
      exists = 0;
      for (int j = 0; j < k; j++)
        if (a[j] == num) {
          exists = 1;
          break;
        }
      
      if (!exists) a[k++] = num;
    }
  }
  
  
  for (int i = 0; i < k; i++)
    printf( "%d ", a[i] );
  
  return 0;
}


Цитата(nichego_ne_znau @  28.12.2006,  23:57 Найти цитируемый пост)
глупая женщина ничего не понимает в программировании...)

«Мальчики умеют находить общий язык с компьютером, а девочки умеют находить общий язык с мальчиками, которые умеют находить общий язык с компьютерами.»  smile

Добавлено @ 22:22 
(Начал на плюсе, кончил на си  smile )

Автор: глупая_женщина 7.1.2007, 21:59
 smile  не могли бы вы объяснить как что работает здесь?   smile 

Автор: Pete 8.1.2007, 17:52
Создаем и заполняем исходную матрицу c. Создаем массив a, который будет хранить все описанные в условии элементы (его размер, очевидно, не превышает числа столбцов матрицы; изначально массив считается пустым). Потом примерно следующее: для каждого элемента из 1-ой строки проверяем, что он присутствует во всех остальных строках. Если так, то добавляем его к массиву a. В конце печатаем получившийся массив.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)