Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Необходимо переделать код. Нужно добавить функции. Это рабочий код / 9 сообщений из 9, страница 1 из 1
07.04.2020, 08:21
    #39944467
bigbro555
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо переделать код. Нужно добавить функции. Это рабочий код
Я хочу разобраться, и мне нужна помощь. Помогите пожалуйста, либо дайте какую либо подсказку
Код: plaintext
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 <stdlib.h>

#define m 8
#define n 8

int main() {
  int a[m][n], b[m][n];
  int i, k = 0, j, r;

  for (i = 0; i < m; i++)
    for (j = 0; j < n; j++)
      a[i][j] = rand() % 10 - 2;
  printf("\n   Сгенерированная матрица имеет вид:\n ");
  // Вывод матрицы
  for (i = 0; i < m; i++) {
    for (j = 0; j < n; j++)
      printf("%d  ", a[i][j]);
    printf("\n ");
  }
  printf("\nвведите направление сдвига(0 вправо или 1 вниз )\n");
  scanf("%d", & k);
  printf("\nвведите число символов, на которое осуществляется сдвиг\n");
  scanf("%d", & r);
  printf("\n \t\t\tРЕЗУЛЬТАТ ПЕРВОЙ ЧАСТИ ЗАДАНИЯ");
  printf("\n ");
  if ((k == 0) || (k == 1)) {
    if (k == 0) {
      // Сдвиг вправо
      for (i = 0; i < m; i++)
        for (j = 0; j < r; j++)
          b[i][j] = a[i][m - r + j];
      for (i = 0; i < m; i++)
        for (j = r; j < m; j++)
          b[i][j] = a[i][j - r];
    }
    if (k == 1) {
      // Сдвиг вниз
      for (i = 0; i < r; i++)
        for (j = 0; j < m; j++)
          b[i][j] = a[m - r + i][j];
      for (i = r; i < m; i++)
        for (j = 0; j < m; j++)
          b[i][j] = a[i - r][j];
    }
    // вывод нового массива
    for (i = 0; i < m; i++) {
      for (j = 0; j < m; j++)
        printf("%d  ", b[i][j]);
      printf("\n ");
    }
  } else printf("Ошибка ввода");

  printf("\n \t\t\tРЕЗУЛЬТАТ ВТОРОЙ ЧАСТИ ЗАДАНИЯ");
  int u, x = -1;
  for (int j = 0; j != m; ++j)
    for (int k = 0; k != m; ++k)
      if (b[j][k] < 0) {
        x = j;
        break;
      }
  u = x + 1;
  printf("Последняя строка с ненулевым элементом:");
  printf("%d  ", u);
  printf("\n ");
  return 0;
}


Вот само задание:
Дана действительная квадратная матрица порядка n.
а) осуществить циклический сдвиг элементов прямоугольной матрицы на п элементов вправо или вниз (в зависимости от введенного режима). n может быть больше количества элементов в строке или столбце;
б) найти номер последней из строк, содержащих хотя бы один ненулевой элемент.
...
Рейтинг: 0 / 0
07.04.2020, 08:23
    #39944468
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо переделать код. Нужно добавить функции. Это рабочий код
...
Рейтинг: 0 / 0
07.04.2020, 14:05
    #39944558
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо переделать код. Нужно добавить функции. Это рабочий код
bigbro555, ты когда оформляешь сорцы - старайся сделать их привлекательными для прочтения.
Оформляй тегом SRC и форматируй по правилам С++.
...
Рейтинг: 0 / 0
11.04.2020, 18:12
    #39946205
Необходимо переделать код. Нужно добавить функции. Это рабочий код
mayton,

Пфф. Почему бы тогда под тегами синтаксисов не сделать автоматическое форматирование на форуме ? Приводя код к общему стандарту.
...
Рейтинг: 0 / 0
11.04.2020, 18:42
    #39946210
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо переделать код. Нужно добавить функции. Это рабочий код
ВсеРазумный
mayton,

Пфф. Почему бы тогда под тегами синтаксисов не сделать автоматическое форматирование на форуме ? Приводя код к общему стандарту.

mayton просто модератор. С рац.предложениями к разработчикам сайта надо писать сюда https://www.sql.ru/forum/sqlru
...
Рейтинг: 0 / 0
11.04.2020, 18:56
    #39946212
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо переделать код. Нужно добавить функции. Это рабочий код
ВсеРазумный
mayton,

Пфф. Почему бы тогда под тегами синтаксисов не сделать автоматическое форматирование на форуме ? Приводя код к общему стандарту.

Авто-формат не всегда корректно работает. После форматирования может быть потеряна авторская идея
или код может не собратся (Python/Haskell) просто по причине потерь отступов во время копипасты
email->word->форум.

Поэтому форматирование исходного кода может быть опцией но никак не mandatory свойством форума.
...
Рейтинг: 0 / 0
11.04.2020, 19:47
    #39946217
Необходимо переделать код. Нужно добавить функции. Это рабочий код
mayton,

Я понимаю что многие языки имеют мазохические наклонности с отступами. Эти люди определённо будут гореть в аду после своей жизни.


Но для обычных языков то не ломается логика выполнения, если дать такую возможность как авто-форматирование для обычных языков типа c++\c#\php и прочих.


Но вот с авторской идеей Я вообще с вами не согласен. Так как люди в фирмах обычно под форматирование и работают, дабы не иметь дело с авторской идеей. 1 стандарт = 100 разработчиков. 100% эффективность.
...
Рейтинг: 0 / 0
12.04.2020, 08:54
    #39946301
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо переделать код. Нужно добавить функции. Это рабочий код
ВсеРазумный,

Ты не по адресу. Я все равно не сделаю автоформат на уровне форума. Это тебе надо в раздел Обсуждение нашего сайта
...
Рейтинг: 0 / 0
12.04.2020, 10:13
    #39946305
полудух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо переделать код. Нужно добавить функции. Это рабочий код
а зачем там i, j и ещё 2 цикла?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Необходимо переделать код. Нужно добавить функции. Это рабочий код / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]