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

Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение из файла с конца http://www.cyberforum.ru/cpp-beginners/thread133660.html
Добрый день, не могу реализовать такую штуку =) Хотелось бы имеющийся текстовый файл перезаписать с обратном порядке (все символы наоборот) Понятно, что надо открыть файл на чтение и установить ук-ль на конец файла. А дальше... Может циклом while читать посимвольно, но какое условие задать? =) //------------------------------------------ #include "stdafx.h" #include <iostream> #include...
C++ Фатал еррор в коде мне нада исправить данный код для корректной работы в визуал си++ "ошибка заключается в том что тут нада отсчет начать с 0, а не с 1", эти слова препода мне ни о чем не говорят. help задача следущая: В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов. Число N и значения элементов массива задаются вводом. вот мой... http://www.cyberforum.ru/cpp-beginners/thread133657.html
ЗАПРЕТ на ввод Б У К В Ы ... ... ... C++
Господа Уважаемые Программисты, если я объявляю переменную х как символьную,........... то каким образом мне надо поставить условие, .............................. чтобы при вводе в качестве этой переменной некоторой буквы- ...........на экран выводилось сообщение об ошибке, ...........а при вводе цифры....- программа продолжала работу???...........................
C++ Разработать функцию определения среднего арифметического коэффициентов многочлена
Помогите пожалуйста по учебе. Задание: Разработать и реализовать функцию определения среднего арифметического коэффициентов многочлена на языке Си для работы с многочленом (на фото) P(x)=an*x^n+an-1*x^n-1+an-2*x^n-2+...+a1*x^1+a0*x Многочлен должен быть представлен в виде списка нулевые члены в списке не должны присутствовать список может быть не обязательно упорядочен по степеням в...
C++ Копирование строк http://www.cyberforum.ru/cpp-beginners/thread133644.html
Всем доброго времени суток. У меня такой вопрос как можно копировать строка в строку не с заменой, а с добавлением в строку. например есть что-то вроде : char A = "DFGH"; char B = "FFFF"; // Нужно копировать так чтобы в итоге получилось DFGHFFFF вообщем сложение двух строк //strcpy(A,B); заменяет содержимое строки А на B (не помог)
C++ Сортировка вектора Нужно отсорировать вектор в порядке убывания при помощи поинтеров. Тоесть доступ к элементам вектора осушествляется через поинтеры. подробнее

Показать сообщение отдельно
<Norton>
Отдыхающий:)
 Аватар для <Norton>
94 / 91 / 10
Регистрация: 05.04.2009
Сообщений: 188
31.05.2010, 09:11     Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define N 5
 
int main()
{
    int a[N][N], n = N, m = N, k = -1;
    bool p = false;
    srand(time(0)%32767);
    std::cout<<"\nMatrix: \n\n";
 
    for(int i = 0; i < n; i++)
        for(int j = 0; j < n; j++){
            a[i][j] = rand()%2;
            if(k == -1 && a[i][j] > 0)
                k = i;}
 
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++)
            std::cout<<a[i][j]<<" ";
        std::cout<<"\n";}
    
    //Удаляем лишние строки
    for(int i = 0; i < n; i++){
        p = true;
        for(int j = 0; j < m; j++)
            if(a[i][j] != 0){
                p = false;
                break;}
        if(p){
            for(int k = i; k < (n-1); k++)
                for(int j = 0; j < m; j++)
                    a[k][j] = a[k+1][j];
            --i;
            --n;}}
    
    //Удаляем лишние столбцы
    for(int j = 0; j < m; j++){
        p = true;
        for(int i = 0; i < n; i++)
            if(a[i][j] != 0){
                p = false;
                break;}
        if(p){
            for(int k = j; k < (m-1); k++)
                for(int i = 0; i < m; i++)
                    a[i][k] = a[i][k+1];
            --j;
            --m;}}
    
    //Выводим матрицу
    std::cout<<"\nAfter convertion:\n";
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++)
            std::cout<<a[i][j]<<" ";
        std::cout<<"\n";}
        
    //Номер строки, содержащей первый пол-ый эл.
    std::cout<<"\nIndex: "<<k<<"\n";
    return 0;
}
 
Текущее время: 16:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru