Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
5 / 4 / 1
Регистрация: 17.12.2015
Сообщений: 101

Сортировка матриц

20.12.2015, 12:55. Показов 723. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана матрица NxM вывести матрицу, определяющую знак перед числом.
Например:
-1 2 -3 4 -5 6
-1 -2 3 -4 5 -6
полученная матрица:
минус плюс минус плюс минус плюс
минус минус плюс минус плюс минус

Я написал программу, но условие работает только по первой строке
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
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>
#include <wchar.h>
 
int main()
{
    setlocale(LC_ALL, "RUS");
    int *a;  // указатель на массив
    int i, j, n, m;
    printf("Введите количество строк: ");
    scanf_s("%d", &n);
    printf("Введите количество столбцов: ");
    scanf_s("%d", &m);
    // Выделение памяти
    a = (int*)malloc(n*m*sizeof(int));
    // Ввод элементов массива
    for (i = 0; i<n; i++)  // цикл по строкам
    {
        for (j = 0; j<m; j++)  // цикл по столбцам
        {
            printf("a[%d][%d] = ", i, j);
            scanf_s("%d", (a + i*m + j));
        }
    }
    // Вывод элементов массива
    for (i = 0; i<n; i++)  // цикл по строкам
    {
        for (j = 0; j<m; j++)  // цикл по столбцам
        {
            printf("%5d ", *(a + i*m + j)); // 5 знакомест под элемент массива
        }
        printf("\n");
    }
    printf_s("\nМатрица\n");
    for (i = 0; i<n; i++)  // цикл по строкам
    {
        for (j = 0; j<m; j++)  // цикл по столбцам
        {
            if (a[j]<0)
            printf(" Минус ");
            else printf(" Плюс ");
        }
        printf("\n");
    }
    free(a);
    _getwch();
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2015, 12:55
Ответы с готовыми решениями:

Сортировка матриц
Помогите написать алгоритм, сама ничего не понимаю. файл с заданием прикреплен. мой вариант 2. #include &lt;stdio.h&gt; #include...

Сортировка матриц
В матрице размером NxM упорядочить строки по возрастанию суммы их элементов. Есть рабочий код. Но он только для матрицы 3x3. Необходимо...

Сортировка матриц
Слева-направо-вниз , от начала допомежной диагонали матрицы

7
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
20.12.2015, 12:59
Цитата Сообщение от Kaktyc007 Посмотреть сообщение
C++
1
if (a[j]<0)
C++
1
if (a[i][j]<0)
0
5 / 4 / 1
Регистрация: 17.12.2015
Сообщений: 101
20.12.2015, 13:17  [ТС]
если написать такое условие, то выдает две ошибки:
C2109 для индекса требуется массив или указатель
Ошибка (активно) выражение должно иметь тип указателя на объект
0
1 / 0 / 1
Регистрация: 02.02.2015
Сообщений: 79
20.12.2015, 13:39
"if (a[j]<0)" и "if (a[i][j]<0)" если адрес меньше нуля....

if (*a[i][j]<0)
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,304
20.12.2015, 13:56
Цитата Сообщение от releyshic Посмотреть сообщение
"if (a[j]<0)" и "if (a[i][j]<0)" если адрес меньше нуля....
if (*a[i][j]<0)
Ошибка: 1 IntelliSense: выражение должно иметь тип указателя на объект c:\Users\Asustek\Documents\Visual Studio 2012\Projects\C++\Console\p2595\Sorted matrix\Sorted matrix\Sorted matrix.cpp 42 23 Sorted matrix
0
1 / 0 / 1
Регистрация: 02.02.2015
Сообщений: 79
20.12.2015, 14:59
а виноват )
if (&
Цитата Сообщение от Kaktyc007 Посмотреть сообщение
scanf_s("%d", (a + i*m + j));
чегото ты намудрил у тебя нет сдесь двумерного массива, все в строчку
а вот здесь у тебя вывод неверный, то есть цикл сам
Цитата Сообщение от Kaktyc007 Посмотреть сообщение
for (i = 0; i<n; i++) // цикл по строкам { for (j = 0; j<m; j++) // цикл по столбцам { if (a[j]<0) printf(" Минус "); else printf(" Плюс "); } printf("\n"); }
должно быть вроде бы
C++
1
2
3
4
5
6
7
for (j = 0; j<m*n; j++)  // цикл по столбцам  //тут ведь у тебя все в строчку
        {
            if (a[j]<0)
            printf(" Минус ");
            else printf(" Плюс ");
        }
        printf("\n");
Добавлено через 27 минут
только нужно еще перенос по строкам, ну это ты сам уже )
0
5 / 4 / 1
Регистрация: 17.12.2015
Сообщений: 101
20.12.2015, 17:25  [ТС]
не фурычит
0
1 / 0 / 1
Регистрация: 02.02.2015
Сообщений: 79
20.12.2015, 17:40
Цитата Сообщение от Kaktyc007 Посмотреть сообщение
не фурычит
ошибка или выдает не то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.12.2015, 17:40
Помогаю со студенческими работами здесь

Сортировка матриц по возрастанию
Помогите дописать, программа работает криво ,нужно чтобы программа упорядочивала строки масива по возрастанию первых элементов меняю всю...

Сортировка столбцов матриц и их сумм по Возрастанию
Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной...

Сортировка столбцов матриц и их сумм по возрастанию
Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной...

Умножение треугольных матриц«Методы обработки разреженных матриц»
Нужно перемножить треугольные матрицы в обычном виде и в свёрнутом. С обычным проблем нет. Доступ к элементам свёрнутой матрицы...

Возведение матриц в степени, перемножение и сложение матриц
Даны 3-ех элементные вещественные векторы x и y и квадратные матрицы A и B. Вычислить: (A 2 * x, y) + (B 2 * y, x) + (A * B * x, y) ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru