Форум программистов, компьютерный форум CyberForum.ru

Указатели, функции и динамическое выделение памяти: вывести строки с неповторяющимися данными - C++

Восстановить пароль Регистрация
 
Ultragr
0 / 0 / 0
Регистрация: 05.07.2014
Сообщений: 7
08.07.2014, 15:07     Указатели, функции и динамическое выделение памяти: вывести строки с неповторяющимися данными #1
Задана матрица A(n,n) ,n<=15 . Написать программу, которая находит и выводит на экран номера тех строк, элементы которых не повторяются. Если таких нет, то выводит уведомление об этом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2014, 15:07     Указатели, функции и динамическое выделение памяти: вывести строки с неповторяющимися данными
Посмотрите здесь:

Вопрос по программе на тему: Массивы и указатели. Динамическое выделение памяти C++
Указатели, динамическое выделение памяти, работа с файлом C++
C++ Указатели и функции. Динамическое выделение памяти
C++ Указатели и динамическое выделение памяти
C++ Указатели на строки. Выделение и освобождение памяти
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
flash1989
Нарушитель
50 / 60 / 9
Регистрация: 03.09.2010
Сообщений: 1,242
08.07.2014, 17:36     Указатели, функции и динамическое выделение памяти: вывести строки с неповторяющимися данными #2
Напишу частично, не хочу полностью за Вас решать. Полностью решают в разделе ***.

Выделения памяти для матрицы:
C++
1
2
3
int **a = new int*[n];
for (int i = 0; i < n; i++)
  a[i] = new int[n];
Дальше. Если имеется в виду что искомыми строками являются те, в которых нет дубликатов элементов, то я бы написал отдельную булевую функцию. Работоспособность не проверял в компиляторе, пишу сразу сюда. Так что может быть не совсем работоспособна, ну суть ясна.

C++
1
2
3
4
5
6
7
8
9
10
11
12
bool check_row(int **a, int n, int row_number)
{
int count = 0;
   for (int i = 0; i < n-1; i++)
     for (int j = i+1; j < n; j++)
      if (a[row_number][i] == a[row_number][j]) 
        count++;
   if (count == 0)
    return true;
   else 
    return false; 
}
Ultragr
0 / 0 / 0
Регистрация: 05.07.2014
Сообщений: 7
08.07.2014, 20:20  [ТС]     Указатели, функции и динамическое выделение памяти: вывести строки с неповторяющимися данными #3
и на том спасибо

Добавлено через 1 час 58 минут
Написал свой вариант выдает ошибку
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
int main()
{
   const int size = 10;
  int m[size][size];
  int z[size][size];
 
  srand(time(NULL));
 
  for(int i = 0; i < size; i++)
     for(int j = 0; j < size; j++)
        m[i][j] = rand();
        ;
 
         cout << "Massuv"<< endl;
        for (int i=0; i<size; i++) {
             for (int j=0; j<size; j++)
                 std::cout << "  " <<m[i][j];
                 std::cout <<std::endl;
 
   z[i][j]=m[0][0]
   for (int i;i<size;i++){
     for (int j;j<size;j++){
     if (z[i][j]!=m[i][j]) {
       z[i][j]=m[i][j];
       m[i][j]=m[i][j+1];
       cout<<"i="<<i<<endl;
       }
       else z[i][j]=z[i+1][j=0];
       cout<<"Error";
 
 
                 }
}
}
system("pause");
}
Добавлено через 31 минуту
Немного доработал код
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
int main()
{
   const int size = 10;
  int m[size][size];
  int z[size][size];
 
  srand(time(NULL));
 
   for(int i = 0; i < size; i++)
         for(int j = 0; j < size; j++)
             m[i][j] = rand();
         z[0][0]=m[0][0];
 
     cout << "Massuv"<< endl;
        for (int i=0; i<size; i++) {
             for (int j=0; j<size; j++)
                 std::cout << "  " <<m[i][j];
                 std::cout<<"  "<< "i="<<i<<endl;
                 std::cout <<std::endl;
 
 
 
   for (int i;i<size;i++){
        for (int j;j<size;j++){
             if (z[0][0]!=m[i][j]) {
                 z[0][0]=m[i][j];
                 m[i][j]=m[i][j+1];
       cout<<"i="<<i<<endl;
}
              else z[0][0]=m[i+1][j=0];
       cout<<"Error";
 
                 }
}
}
system("pause");
}
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
08.07.2014, 21:23     Указатели, функции и динамическое выделение памяти: вывести строки с неповторяющимися данными #4
Цитата Сообщение от Ultragr Посмотреть сообщение
Указатели, функции и динамическое выделенние памяти
И где все это в Вашем коде?
Yandex
Объявления
08.07.2014, 21:23     Указатели, функции и динамическое выделение памяти: вывести строки с неповторяющимися данными
Ответ Создать тему
Опции темы

Текущее время: 23:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru