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

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 - C++

Восстановить пароль Регистрация
 
PowerWithin
0 / 0 / 0
Регистрация: 18.05.2014
Сообщений: 18
02.06.2014, 18:54     Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 #1
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки, начиная со строки К1 и до строки К2
вот текст программы которая удаляет одну строку К1, а как на промежутке понятия не имею)))помогите плиз
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
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
int main ()
{
    int **a;
    int **matr,**b;
int n,i,m,j,k,p;
 
cout << "Vvedite kolichestvo strok/n: "  ; cin >> n;
cout<<"Vvedite kolichestvo stolbcov/n:"; cin>>m;
matr=new int*[n];
for(int i=0;i<n;i++){matr[i]=new int [m];}
srand(time(NULL));
for  (i=0; i<n; i++)
     {for (j=0;j<m;j++)
     { matr[i][j]=rand()%50;
       cout<<matr[i][j]<<"\t";}
      cout<<endl;}
cout<<"Vvedite nomer stroki K1";
cin>>k;
b=new int*[n];                  
for(int i=0;i<m;i++){b[i]=new int(n-1);}    
 
for (i=0;i<k;i++)                   
for (j=0;j<m;j++)               
{b[i][j]=matr[i][j];}
 
  for (i=k;i<(n-1);i++)
       {for (j=0;j<n;j++)
       b[i][j]=matr[i+1][j];
       }
      
cout<<"New array\n";       
for (i=0;i<n-1;i++)
 {for (j=0;j<m;j++)
cout<<b[i][j]<<'\t';
cout<<'\n';}
 
getch ();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 18:54     Удалить строки динамической матрицы, начиная со строки К1 и до строки К2
Посмотрите здесь:

C++ Разработать функцию,которая перекрывает символы строки заданным количеством символов другой строки, начиная с заданной позиции
умножить элемент каждой строки первой матрицы на наибольшее из значений элементов соответствующей строки второй матрицы C++
C++ Рассортировать строки динамической матрицы по наибольшему элементу строки.
Матрица (Начиная с 1-й строки матрицы, в цикле печатать показания датчиков) C++
Массивы. Удалить все четные элементы; Добавить К строк, начиная со строки с номером N C++
C++ Удалить из строки заданное количество символов, начиная с заданной позиции
Определить, что все элементы строки первой матрицы больше соответствующих элементов строки второй матрицы C++
C++ В динамической матрице целых чисел добавить строки после строки, содержащей простое число

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lers
12 / 12 / 3
Регистрация: 27.05.2012
Сообщений: 202
02.06.2014, 19:24     Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 #2
можно попробовать числа до K1 копировать в новый массив, а потом копировать числа после K2, получиться что числа из промежутка k1-k2 не будут в новом массиве. Но это не самый лучший вариант
PowerWithin
0 / 0 / 0
Регистрация: 18.05.2014
Сообщений: 18
02.06.2014, 21:38  [ТС]     Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 #3
спс за предложение))) но мне как то сложно будет это сделать)))может есть какой- нибудь более легкий способ?

Добавлено через 1 час 59 минут
попробовал написать как советовал товарищ выше))что то не получается )помогите плиз
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
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
int main ()
{
    int **a;
    int **matr,**b,**c;
int n,i,m,j,k1,k2;
 
cout << "Vvedite kolichestvo strok/n: "  ; cin >> n;
cout<<"Vvedite kolichestvo stolbcov/n:"; cin>>m;
matr=new int*[n];
for(int i=0;i<n;i++){matr[i]=new int [m];}
srand(time(NULL));
for  (i=0; i<n; i++)
     {for (j=0;j<m;j++)
     { matr[i][j]=rand()%50;
       cout<<matr[i][j]<<"\t";}
      cout<<endl;}
cout<<"Vvedite nomer stroki K1";
cin>>k1;
cout<<"Vvedite nomer stroki K2";
cin>>k2;
b=new int*[n];                  //Âûäåëÿåòñÿ ГЇГ*ìÿòü ïîä Г*îâûé Г¬Г*Г±Г±ГЁГў,
for(int i=0;i<m;i++){b[i]=new int(n-1);}        //Гў êîòîðîì êîë-ГўГ® ñòðîê Г*Г* 1 ìåГ*ГјГёГҐ
for (i=0;i<k1;i++)                  //Г‡Г*ГЇГЁГ±Гј ГЅГ«-Гў ГЁГ§ Г±ГІГ*ðîãî Г¬Г*Г±Г±ГЁГўГ* Гў Г*îâûé
for (j=0;j<m;j++)                   //Êðîìå k-ГЈГ® ñòîëáöГ*
{b[i][j]=matr[i][j];}
 
  for (i=0;i<(n-1);i++)
       {for (j=0;j<n;j++)
       b[i][j]=matr[i+1][j];
       }
c=new int *[n];
for (int i=k2;i<m;i++) {c[i]=new int(n-k2);}
for (i=k2;i<k2;i++)
for (j=0;j<m;j++)
{c[i][j]=matr[i][j];}  
for (i=0;i<(n-k2);i++)
{for (j=0;j<n;j++)
b[i][j]=matr[i+k2][j];}     
      
cout<<"New array\n";       
for (i=0;i<n-1;i++)&&(i=k2;i<n-k2;i++)
 {for (j=0;j<m;j++)
cout<<b[i][j]&& c[i][j]<<'\t';
cout<<'\n';}
 
getch ();
}
Yandex
Объявления
02.06.2014, 21:38     Удалить строки динамической матрицы, начиная со строки К1 и до строки К2
Ответ Создать тему
Опции темы

Текущее время: 11:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru