Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2015, 09:19   #1
dimefield
 
Регистрация: 12.04.2015
Сообщений: 9
По умолчанию Вывести все номера строк квадратной матрицы (int), которые поэлементно совпадают со столбцом с таким же номером

Привет всем.

Помогите, пожалуйста, с задачей.

Вывести все номера строк квадратной матрицы (int), которые поэлементно совпадают со столбцом с таким же номером, то есть, нужно вывести все
значения k такие, что
a с индексами ik = a с индексами ki; i = 1; 2; ...n

У меня уже есть наброски кода, но он не закончен.

Код:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

int main () {
  int n;
  int a[n][n];
  printf("Введите размер квадратной матрицы: ");
  if (scanf("%d", &n) != 1) {
   printf("Ошибка ввода\n");
   exit(EXIT_FAILURE);
   }
  printf("Введите %d строк по %d элементов: ", n, n);
  for(int i = 0; i < n; i++) {
   for(int j = 0; j < n; j++) {
    if (scanf("%d", &a[i][j]) != 1) {
    printf("Ошибка ввода\n");
    exit(EXIT_FAILURE);
    }
   }
  }
  for(int i = 0; i < n; i++) {
   bool k = true;
   for(int j = 0; j < n; j++) {
    НЕ ЗНАЮ, ЧТО ЗДЕСЬ ПИСАТЬ
    }
   }
  }
Код нужно выделять (# вверху)

Последний раз редактировалось Вадим Мошев; 15.04.2015 в 12:23.
dimefield вне форума Ответить с цитированием
Старый 15.04.2015, 10:52   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Я правильно Вас понял? Должны совпадать все элементы строки с соответствующими индексами столбцов?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 15.04.2015, 14:16   #3
dimefield
 
Регистрация: 12.04.2015
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Я правильно Вас понял? Должны совпадать все элементы строки с соответствующими индексами столбцов?
Я так понял, что в данной матрице элементы симметричны относительно главной диагонали, кроме элементов с одинаковыми индексами(они лежат на главной диагонали).
dimefield вне форума Ответить с цитированием
Старый 15.04.2015, 16:54   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Давайте так. Нарисуйте матрицу. И результат который должны получить на выходе.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 15.04.2015, 17:03   #5
dimefield
 
Регистрация: 12.04.2015
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Давайте так. Нарисуйте матрицу. И результат который должны получить на выходе.
Матрица:
1 2 3
2 4 5
3 5 7

a с индексами 12 = a с индексами 21, a с индексами 13 = a с индексами 31, a с индексами 22 = a с индексами 22 и т.д.
dimefield вне форума Ответить с цитированием
Старый 16.04.2015, 05:58   #6
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Пробуйте так... Кстати интересно, а хотя бы, то что у вас уже есть компилируется?
Код:
for(int i = 0; i < n; i++) {
	for(int j = 0; j < n; j++) {
		if(arr[i][j] == arr[j][i] {
			printf(" Строка: %d", j);
			break;
		}
	}
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 16.04.2015, 16:22   #7
dimefield
 
Регистрация: 12.04.2015
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Пробуйте так... Кстати интересно, а хотя бы, то что у вас уже есть компилируется?
Код:
for(int i = 0; i < n; i++) {
	for(int j = 0; j < n; j++) {
		if(arr[i][j] == arr[j][i] {
			printf(" Строка: %d", j);
			break;
		}
	}
}
нет. то, что у меня - не компилируется.
Спасибо за помощь, но я уже сам разобрался.
dimefield вне форума Ответить с цитированием
Старый 16.04.2015, 16:51   #8
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

В чем же оказалось решение?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 16.04.2015, 18:34   #9
dimefield
 
Регистрация: 12.04.2015
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
В чем же оказалось решение?
Код:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

int main () {
  int n;
  printf("Введите размеры квадратной матрицы: ");
  if (scanf("%d", &n) != 1) {
   printf("Ошибка ввода\n");
   exit(EXIT_FAILURE);
   }
  int a[n][n];
  printf("Введите %d строк по %d элементов: ", n, n);
  for(int i = 0; i < n; i++) {
   for(int j = 0; j < n; j++) {
    if (scanf("%d", &a[i][j]) != 1) {
    printf("Ошибка ввода\n");
    exit(EXIT_FAILURE);
    }
   }
  }
   bool k = true;
  for(int i = 0; i < n; i++) {
    k = true;
   for(int j = 0; j < n; j++) {
    if (a[i][j] != a[j][i]) {
    k = false;
    break;
    }
    }
     if (k == true) {
      printf("%d\n", i);
    }
   }
  }
Напоминаю, код нужно правильно оформлять (кнопка # вверху)

Последний раз редактировалось Аватар; 16.04.2015 в 18:45.
dimefield вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица, несколько максимальных с индексами (язык C) zheka317 Помощь студентам 14 12.10.2013 11:19
Дана квадратная матрица А из N элементов. Получить из нее одномерный массив, прочитав(язык си+++) mitja-zakelidis Помощь студентам 7 17.03.2012 15:23
Дана квадратная матрица А из N элементов. Получить из нее одномерный массив(язык с++) yury.zanilov Помощь студентам 6 16.03.2012 13:46
Целочисленная матрица (язык Pelles C) Kotik Wasil Помощь студентам 0 12.12.2010 20:42
Матрица Язык (Паскаль) Азарт Помощь студентам 1 14.04.2009 00:09