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

Динамические массивы, удаление строк/столбцов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ написать функцию умножения матрицы на скаляр http://www.cyberforum.ru/cpp-beginners/thread232637.html
Для матрицы A, с размерами N×M написать функции умножения матрицы на скаляр и вычисления суммы элементов матрицы. Вычислить и напечатать значения Sa - суммы элементов матрицы A, и B=A/Sa.
C++ функция слияния файлов вообще мне надо сделать сортирову четырех путевым слиянием но это уже хоть что то.... помогите мне разобратся в этом коде с параметрами функции хотя . бы...пожалуйста.. //_________________ Фун-я слияния файлов ___________________________________ void Merging (int quantity, int N){ int min,ch; ofstream f_trunc("result.txt", ios::trunc ); f_trunc.close(); while (N>0) http://www.cyberforum.ru/cpp-beginners/thread232632.html
Символьная информация C++
Здравствуйте. Помогите, пожалуйста с заданием. 1. Дана строка символов. Распечатать слова, отличные от последнего, оставив в каждом слове только первые вхождения каждой буквы. например: "Ptici preleteli vesna prichla" на экран он должен вывести "Ptic prelti vesna" 2. Подсчитать количество слов в получившемся предложении. Со вторым вопросом вообще напряг, не знаю чего надо...
прошу помочь с программой на с++ C++
Для матрицы A, с размерами N×M написать функции умножения матрицы на скаляр и вычисления суммы элементов матрицы. Вычислить и напечатать значения Sa - суммы элементов матрицы A, и B=A/Sa.
C++ Пример из книги Лафоре http://www.cyberforum.ru/cpp-beginners/thread232617.html
В третьей главе книги Лафоре по с++ есть пример использующий функцию getche(): #include <iostream> #include <conio.h> using namespace std; int main() { int chcount = 0, wdcount = 1; char ch = 'a'; cout << "Insert string: "; while(ch != '\r')
C++ Инкримент в двухмерном массиве Помогите пжл написать: оператор ++ ,который будет добовлять каждому элементу двухмерного массива единицу. подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.01.2011, 14:19     Динамические массивы, удаление строк/столбцов
Строки исправил, "как вчера договорились". Осталось только решить со столбцами. Есть несколько вопросов. Например такая матрица:
1 2 3 0 5
1 2
1 2 3 0
1 2 3
Удаляем какой-то столбец из нее или нет? Пока у Вас код написан с выходом за границы массива.

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
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <cstdlib>
#include <ctime>
 
int **mas, *a, n, m, i,j, y, t, temp;;
int main ()
{
              cout<<"Vvedite kol-vo strok: ";
                cin>>n;
                                
                mas=new int*[n];
                a=new int[n];
                for(i=0; i<n; i++)
                {
                      
                    cin>>temp;
                        mas[i]=new int[temp];
                        a[i]=temp;
                }
 
cout << "Vvedite matricu:\n";
    for ( i=0; i<n; i++) {
        for ( j=0; j<a[i]; j++) {
            cin>>mas[i][j];
                        }}
        cout<<"\nIsxodnyi massiv:\n"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<a[i]; j++)
          cout<<mas[i][j]<<"  ";
           cout<<endl;
        }
        for(i=0; i<n; i++)
        {
                t=0;
                for(j=0; j<a[i]; j++)
                        if(mas[i][j]!=0)
                                t=1;
                if(t==0)
                {
                    delete [] mas[i];    
                        for(temp=i; temp<n-1; temp++)
                        {
                               // for(j=0; j<a[i]; j++)
                                        mas[temp]=mas[temp+1];
                                        a[temp]=a[temp+1];
                        }
                        n--;
                }
        }
        for(i=0; i<a[i]; i++)
        {
                t=0;
                for(j=0; j<n; j++)
                        if(mas[j][i]!=0)
                                t=1;
                if(t==0)
                {
                        for(temp=i; temp<a[i]-1; temp++)
                                for(j=0; j<n; j++)
                                        mas[j][temp]=mas[j][temp+1];
                        a[i]=a[i]-1;
                }
        }
        cout<<endl;
        cout<<"\nPolychennyi massiv\n"<<endl;
        for(i=0; i<n; i++)
        {
       for(j=0; j<a[i]; j++)
          cout<<mas[i][j]<<"  ";
                cout<<endl;
        }
        cout<<endl;
        getch();
         return 0;
}
 
Текущее время: 18:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru