Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 26.11.2016
Сообщений: 9
1

Найти первый столбец матрицы не содержащий отрицательных элементов

21.12.2016, 23:56. Показов 1997. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*ищем первый столбец не содержащий отриц. элементов и выводим № этого столбца.
Но я не могу понять как сделать так, чтобы если все столбцы с отриц. элементами,
то printf("Столбцов с положительными эл. нет")*/
#include "stdafx.h"
#include "locale.h"
#include "conio.h"
#include <iostream>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "Russian");
    
    int **a = nullptr;
    int **b = nullptr;
    int M = 0, N = 0,j,i;
    int **arr = new int*[N];
    bool n = true;
    do
    {
        printf_s("Введите количество строк 2 < M <= 100: ");
        cin >> M;
        if (cin.fail())
        {
 
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
            printf_s("\nНекорректный ввод.Нажмите любую клавишу...\n");
            _getch();
        }
    } while ((M > 100) || (M < 2));
 
    do
    {
        printf_s("Введите количество столбцов 2 < N <= 100: ");
        cin >> N;
        if (cin.fail())
        {
 
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
            printf_s("\nНекорректный ввод.Нажмите любую клавишу...\n");
            _getch();
        }
    } while ((N > 100) || (N < 2));
 
 
 
    a = (int**)malloc(M * sizeof(int*));
    b = (int**)malloc(M * sizeof(int*));
 
    for (i = 0; i < M; i++)  // цикл по строкам
    {
        // Выделение памяти под хранение строк
        a[i] = (int*)malloc(N * sizeof(int));
        b[i] = (int*)malloc(N * sizeof(int));
    }
    printf("Элементы массива:\n");
    {
        for (i = 0; i < M; i++)  // цикл по строкам
        {
            for (j = 0; j < N; j++)  // цикл по столбцам
            {
 
                do{
                    n = true;
                    printf("\t\t[%d][%d]= ", i + 1, j + 1);
                    cin >> (a[i][j]);
 
                    if (cin.fail())
                    {
 
                        cin.clear();
                        cin.ignore(numeric_limits<streamsize>::max(), '\n');
                        printf_s("\nНекорректный ввод.Нажмите любую клавишу...\n");
                        _getch();
                        n = false;
                    }
                } while (!n);
                b[i][j] = a[i][j];
            }
        }
        {
            printf_s("\nИсходный массив:\n\n");
            for (i = 0; i < M; i++)
            {
                for (j = 0; j < N; j++)
                    printf_s("%5d \t\t", b[i][j]);  //Вывод исходного массива на экран
                printf_s("\n\n");
            }
        }
        //поиск номера первого из столбцов
        j = 0;
        while (j < N)
        {
            f = true;
            for (i = 0; i < M; i++)
            {
                if (b[i][j] < 0)
                    f = false;
            }
            if (f)
            {
                printf("\nНомер первого из столбцов, не содержащих ни одного отрицательного элемента №%d\n", j + 1);
                j = N;
            }
            else j++;
        }
        printf("\nДля выхода в меню нажмите любую клавишу...");
        _getch();
    }
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.12.2016, 23:56
Ответы с готовыми решениями:

в матрице А(n x m) найти первый столбец, не содержащий отрицательных элементов, и умножить его как вектор на матрицу А
2. в матрице А(n x m) найти первый столбец, не содержащий отрицательных элементов, и умножить его...

Найти в матрице первый столбец, содержащий максимальное количество одинаковых элементов
Дана целочисленная матрица размера M х N. Найти номер первого из ее столбцов, содержащих...

Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X
Задача заключается в следующем: 1)Построить матрицу. Матрицу построил, но она выводится в строку....

В матрице найти первый столбец, содержащий максимальное количество отрицательных элементов
В матрице найти первый столбец, содержащий максимальное количество отрицательных элементов, и...

1
19 / 19 / 22
Регистрация: 25.08.2010
Сообщений: 90
22.12.2016, 14:30 2
При поиске номера первого из столбцов булевский флаг f объяви до цикла while. После цикла можно проверить, а остался ли флаг в истинном значении - если да, значит таких столбцов в массиве нет.
1
22.12.2016, 14:30
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2016, 14:30
Помогаю со студенческими работами здесь

В матрице поменять местами первый столбец и столбец, содержащий минимальное количество нечетных элементов
1) дана матрица размера m*n поменять местами столбцы 1 и столбец, содержащий минимальное количество...

Найти первый столбец в котором нет отрицательных элементов, отсортировать элементы столбцов по убыванию
Задание такое, найти первый столбец в котором не содержится отрицательных элементов, и еще...

Найти столбец матрицы, содержащий минимальное произведение своих элементов
среди столбцов матрицы найти столбец, содержащий минимальное произведение своих элементов и принять...

Дана матрица размера N x N. Поменять местами первый столбец и столбец с минимальным кол-вом отрицательных элементов
Дана матрица размера N x N. Поменять местами первый столбец и столбец с минимальным кол-вом...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как использовать комментарии в JSON
InfoMaster 18.01.2025
JSON (JavaScript Object Notation) представляет собой легкий и широко используемый формат обмена данными, который стал стандартом де-факто для веб-приложений и программных интерфейсов. При работе с. . .
Как заставить git pull перезаписать локальные файлы в Git
InfoMaster 18.01.2025
Проблема перезаписи локальных файлов в Git При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо синхронизировать локальный репозиторий с. . .
Что значит оператор --> в C++ и для чего он нужен
InfoMaster 18.01.2025
В языке программирования C++ оператор -> (стрелка) является одним из фундаментальных элементов синтаксиса, обеспечивающим удобный доступ к членам структур и классов через указатели. Этот оператор был. . .
Как отменить git add до коммита в Git
InfoMaster 18.01.2025
В современной разработке программного обеспечения система контроля версий Git играет ключевую роль в управлении изменениями кода. Одной из наиболее частых операций, с которой сталкиваются. . .
Какой MIME-тип JSON указывать и когда
InfoMaster 18.01.2025
В современном мире веб-разработки формат JSON (JavaScript Object Notation) стал неотъемлемой частью обмена данными между клиентом и сервером. Этот легковесный формат хранения и передачи данных. . .
Как переименовать ветку (branch) в Git
InfoMaster 18.01.2025
Одним из важнейших аспектов работы с Git является правильное управление ветками, которые позволяют разработчикам эффективно организовывать процесс разработки и тестирования новых функций. Особое. . .
Как удалить определенный элемент из массива в JavaScript
InfoMaster 18.01.2025
В современной веб-разработке массивы являются одной из ключевых структур данных, с которыми приходится работать разработчикам JavaScript. Операция удаления элементов из массива представляет собой. . .
Что такое yield в Python и как это работает
InfoMaster 18.01.2025
Концепция генераторов и yield в Python В мире программирования на Python существуют мощные инструменты для эффективной работы с последовательностями данных, и одним из таких инструментов является. . .
В чем разница между git pull и git fetch в Git
InfoMaster 18.01.2025
Работая в командах разработчиков, специалисты постоянно сталкиваются с необходимостью синхронизации локальных репозиториев Git с удаленными серверами. Две команды - git fetch и git pull -. . .
Как удалить ветку (branch) в Git в локальном и удалённом репозитории
InfoMaster 18.01.2025
Ветка в Git представляет собой легковесный указатель на определенный коммит в истории разработки. Когда разработчики создают новую ветку, они получают возможность вносить изменения в код, не. . .
Почему обработка сортированного массива быстрее, чем несортированног­­о
InfoMaster 18.01.2025
Влияние сортировки массивов на скорость обработки данных При разработке программного обеспечения оптимизация производительности играет ключевую роль в создании эффективных приложений. Одним из. . .
Зачем нужны свойства в классе, если есть поля
InfoMaster 18.01.2025
Понятие свойств и полей в классах В современном объектно-ориентированном программировании поля и свойства являются фундаментальными элементами классов, которые обеспечивают хранение и управление. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru