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

Помогите код отреактировать - C++

Восстановить пароль Регистрация
 
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
10.01.2011, 17:12     Помогите код отреактировать #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
42
43
44
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
  using namespace std;
int main()
 
{
int n,m;
printf("\n vvedite koli4estvo strok i stolbcov v matrice ");
scanf("%d%d",&n,&m);
int j,i;
int **mas2;
mas2=new int *[n];
randomize();
for(i=0;i<n;i++)
{
mas2[i]=new int[m];
for(j=0;j<m;j++)
mas2[i][j]=random(10);
}
 
for(i=0;i<n;i++)
{
        printf("\n\n");
        for(j=0;j<m;j++)
                printf("%2d",mas2[i][j]);
        {
                int temp=mas2[i][0]; mas2[i][0]=mas2[i][n]; mas2[i][n]=temp;//меняем первый столбец с последним
        }
}
 
printf("\n\n NEW:");
for(i=0;i<n;i++)
{
        printf("\n\n");
        for(j=0;j<m;j++)
                printf("%2d",mas2[i][j]);
}
 
for(i=0;i<n;i++)
delete mas2[i];
delete []mas2;
getch();     }
Мне нужно написать программу которая бы меняла местами две произвольных строки местами. Взял эту прогу за основу вроде всё правильно изменил код программы, всё компилируется, но после того как я запускаю exe-ик он выдаёт критическую ошибку и идёт завершение процесса.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2011, 17:12     Помогите код отреактировать
Посмотрите здесь:

Помогите завершить код C++
C++ Помогите оптимизировать код
Помогите упростить код? C++
C++ Помогите подправить код
C++ Помогите доработать код.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
10.01.2011, 17:30     Помогите код отреактировать #2
DrSMERTb,
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
#include <iostream>
#include <time.h>
#include <stdio.h> 
#include <conio.h>
 
using namespace std;
 
int main()
{
    srand(static_cast<unsigned>(time(NULL)));
    size_t m, n;
    cout << "Enter the size of the matrix (m, n)\n";
    cin >> m >> n;
    size_t **matrix = new size_t *[m];
    for (size_t i = 0; i < m; ++i)
    {
        matrix[i] = new size_t[n];
        for (size_t j = 0; j < n; ++j)
            cout << (matrix[i][j] = rand() % 10) << "  ";
        cout << endl;
    }
    cout << "Enter the number of the string, which are necessary to swap\n";
    size_t a, b;
    cin >> a >> b;
    size_t *Tmp = matrix[a % m];
    matrix[a % m] = matrix[b % m];
    matrix[b % m] = Tmp;
    cout << "\nAfter swap\n";
    for (size_t i = 0; i < m; ++i)
    {
        for (size_t j = 0; j < n; ++j)
            cout << matrix[i][j] << "  ";
        delete[]matrix[i];
        cout << endl;
    }
    delete[]matrix;
    _getch();
    return EXIT_SUCCESS;
}
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
10.01.2011, 17:39  [ТС]     Помогите код отреактировать #3
Выдаёт в следующих строках ошибки:
using namespace std;\\ну здесь понятно почему ошибка у меня компилятор буилдер, эту строку удалил в последствие.
Сохранились следующие три ошибки:
1)srand(static_cast<unsigned>(time(NULL)));\\не понимает команду "srand"
2)cout << (matrix[i][j] = rand() % 10) << " ";
3)return EXIT_SUCCESS;\\здесь пишет неопознаный символ "EXIT_SUCCESS"
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.01.2011, 17:55     Помогите код отреактировать #4
DrSMERTb, в своем коде строку:
C++
1
int temp=mas2[i][0]; mas2[i][0]=mas2[i][n]; mas2[i][n]=temp;//меняем первый столбец с последним
поменяйте на:
C++
1
int temp=mas2[i][0]; mas2[i][0]=mas2[i][m-1]; mas2[i][m-1]=temp;//меняем первый столбец с последним
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
10.01.2011, 17:58  [ТС]     Помогите код отреактировать #5
Мне нужно поменять местами две строки местами причём произвольные. А то что вы исправили, да действительно верно.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.01.2011, 18:05     Помогите код отреактировать #6
Цитата Сообщение от DrSMERTb Посмотреть сообщение
нужно поменять местами две строки местами причём произвольные
А как задается эта произвольность? Номера строк вводятся с клавиатуры? Или с помощью random() ?
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
10.01.2011, 18:22  [ТС]     Помогите код отреактировать #7
С клавиатуры
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.01.2011, 18:29     Помогите код отреактировать #8
Проверяйте:
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 <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
  using namespace std;
int main()
 
{
int n,m;
printf("\n vvedite koli4estvo strok i stolbcov v matrice ");
scanf("%d%d",&n,&m);
int j,i;
int **mas2;
mas2=new int *[n];
randomize();
for(i=0;i<n;i++)
{
mas2[i]=new int[m];
for(j=0;j<m;j++)
mas2[i][j]=random(10);
}
 
for(i=0;i<n;i++)
{
                printf("\n\n");
                for(j=0;j<m;j++)
                                printf("%2d",mas2[i][j]);
}
int i1, i2;
printf("Stroka1= ");
scanf("%d", &i1);
printf("Stroka2= ");
scanf("%d", &i2);
for(j=0; j<m; j++)
{
    int temp=mas2[i1][j]; mas2[i1][j]=mas2[i2][j]; mas2[i2][j]=temp;
}
 
printf("\n\n NEW:");
for(i=0;i<n;i++)
{
                printf("\n\n");
                for(j=0;j<m;j++)
                                printf("%2d",mas2[i][j]);
}
 
for(i=0;i<n;i++)
delete mas2[i];
delete []mas2;
getch()
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
10.01.2011, 19:37  [ТС]     Помогите код отреактировать #9
После ввода номеров стирок, которые нужно поменять программа вылетает с крита...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2011, 19:44     Помогите код отреактировать
Еще ссылки по теме:

C++ Помогите преобразовать код С++:
C++ Помогите оптимизировать код
C++ ПОМОГИТЕ ИСПРАВИТЬ КОД НА C++!

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.01.2011, 19:44     Помогите код отреактировать #10
После ввода номеров стирок, которые нужно поменять программа вылетает с крита...
Какие задаете значения n и номера строк?
Yandex
Объявления
10.01.2011, 19:44     Помогите код отреактировать
Ответ Создать тему
Опции темы

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