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

Найти все ненулевые элементы матрицы и записать их в новый массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Многопоточность http://www.cyberforum.ru/cpp-beginners/thread274610.html
На сколько я понимаю этот урок http://www.cyberguru.ru/programming/cpp/multithreading-intro-page2.htmlна экране после компиляции должно быть 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 и.т.д. а у меня сначала несколько строк нулей потом единиц, двоек и.т.д.Почему так? И может кто то посоветовать книгу или статьи где более подробно описываться многопоточность, я искал но толком ничего не нашел.
C++ Записать ненулевые элементы в массив Дана матрица, найти все ненулевые элементы и записать их в другой массив Вот часть кода #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { http://www.cyberforum.ru/cpp-beginners/thread274609.html
Работа сматрицами C++
Всем привет, помогите пожалуйста решить задачу: Определить минимальное число Z из элементов действительной матрицы, i, j = 1, ..., 5, расположенные выше главной диагонали, среди строк, которые начинаются с отрицательного элемента. Спасибо!
C++ Парсинг списка
Есть список(char): id@in;in;in;in@salt@rand:price:count/key, id@in;in;in;in@salt@rand:price:count/key, id@in;in;in;in@salt@rand:price:count/key Есть index, нужно найти из этого списка строку с index == key, добавить к count+1, собрать строку и собрать список. Дело в том что на PHP эту задачу я выполнить мог бы и сам, но реализовать это нужно на C, а опыта с C - не так уж много, кто...
C++ Вопрос про функцию square в классе Rect http://www.cyberforum.ru/cpp-beginners/thread274573.html
Скажите пожалуйста, что данная функция делает? очень надо, подскажите кто знает
C++ Бинарное дерево, удаление элемента Задание: создать класс для хранения целых чисел в виде бинарного дерева. Обеспечить поиск, добавление и удаление элементов. Получилось пока что что то такое=) Помогите пожалуйста с удалением элемента. Файл Tree.h: #ifndef TREE_H #define TREE_H struct node{ int Key; node *Left; подробнее

Показать сообщение отдельно
vitaska
 Аватар для vitaska
83 / 83 / 2
Регистрация: 04.02.2010
Сообщений: 162
12.04.2011, 14:33     Найти все ненулевые элементы матрицы и записать их в новый массив
вот так все норм определяет, правда чуток больше кода))
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
#include <iostream>
#include <conio.h>
#include <iomanip>
 
using namespace std;
 
int nonZeroCount( float ** matr, int row, int col )
{
    int i, j, count = 0;
    for ( i = 0; i < row; i++ )
        for ( j = 0; j < col; j++ )
            if ( matr[ i ][ j ] )
                count++;
 
    return count;
}
 
int main(int argc, char *argv[])
{
    int i , j, rows, cols;
    float ** matrix;
 
    cout << "Input rows amount in matrix: "; 
    cin >> rows;
    cout << "Input cols amount in matrix: "; 
    cin >> cols;
    //выделяем память
    matrix = new float * [ rows ];
    for ( i = 0; i < rows; i++)
        matrix[ i ] = new float[ cols ];
 
    //ввод матрицы
    for ( i = 0; i < rows; i++ ) {
        for ( j = 0; j < cols; j++ ) {
            cout << "matrix[ " << i << " ][ " << j << " ] = ";
            cin >> matrix[ i ][ j ];
        }
    }
 
    cout << "\n\nMatrix:\n\n";
    for ( i = 0; i < rows; i++ ) {
        for ( j = 0; j < cols; j++ ) 
            cout << setw( 5 ) << setprecision( 1 ) << matrix[ i ][ j ];
        cout << "\n";
    }
    cout << endl << endl;
    //определяем количество ненулевых элементов матрицы
    int tmpSize = nonZeroCount( matrix, rows, cols );
 
    if ( tmpSize ) {
        int z = 0;
        //Если количество ненулевых элементов матрицы не равно 0
        //создаем массив размером количеством ненулевых элементов
        float * tmpMatr = new float [ tmpSize ];
        for ( i = 0; i < rows; i++ ) {
            for ( j = 0; j < cols; j++ ) {
                if ( matrix[ i ][ j ] ) {
                    tmpMatr[ z ] = matrix[ i ][ j ];
                    cout << setw( 5 ) << setprecision( 1 ) << tmpMatr[ z ];
                    z++;
                }
            }
        }
 
        delete [] tmpMatr;
 
        cout << endl << endl;
    }
    else
        cout << "\nMatrix does not have NULL elements\n";
             
    //освобождаем, когда массив больше не нужен
    for ( i = 0; i < rows; i++)
        delete matrix[ i ];
    delete [] matrix;
 
    _getch();
 
    return 0;
}
 
Текущее время: 22:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru