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

Реверс масива по строках. - C++

Восстановить пароль Регистрация
 
Наська_91
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
12.02.2011, 17:23     Реверс масива по строках. #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
# include <iostream>
#include <ctime>
using namespace std;
int main()
{
    srand(time(NULL));
    const int row=4, col=5, a=-20, b=20;
    double matrix [col][row];
    double res=0;
    int kilkist_0=0;
    cout<<"MATRIX 5x4:"<<endl<<endl;
    for (int i=1; i<=row; i++)
    {
        for (int j=1; j<=col; j++)
        {
            matrix[i][j]=a+rand()%(b-a+1);
            cout<<"["<<i<<"]["<<j<<"]="<<matrix[i][j]<<"\t";
        }
        cout<<endl;
    }
    cout<<endl;
    for (int i=1; i<=row/2; i++)
    {
        for (int j=1; j<=col; j++)
        {
            res=matrix[i][j];
            matrix[i][j]=matrix[row-i+1][j];
            matrix[row-i+1][j]=res;
        }
    }
    cout<<"REVERS MATRIX: \n";
    for (int i=1; i<=row; i++)
    {
        for (int j=1; j<=col; j++)
        {
            cout<<"["<<i<<"]["<<j<<"]="<<matrix[i][j]<<"\t";
        }
        cout<<endl;
    }
    cout<<endl;
    return 0;
}
Что здесь не так!?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.02.2011, 17:31     Реверс масива по строках. #2
особо не всматривался но нумерация массивов идет с 0, а у вас с 1 и кажется вы путаете rows и cols
Наська_91
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
12.02.2011, 17:32  [ТС]     Реверс масива по строках. #3
Maxwe11, Если я ставлю с нуля, то там еще больше ошибок получается...
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.02.2011, 17:38     Реверс масива по строках. #4
C++
1
for (int i = 0; i < row; i++) //   0 <= i < row
Добавлено через 2 минуты
c col аналогично)
Наська_91
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
12.02.2011, 17:40  [ТС]     Реверс масива по строках. #5
Maxwe11, сделала с нуля...
И вот что получается:
Реверс масива по строках.
И еще выдает вот такую ошибку:
Реверс масива по строках.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.02.2011, 18:01     Реверс масива по строках. #6
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
//Поменять первую строку с последней, вторую с предпоследней и так далее.
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    const int row = 4; //строки
    const int col=5; // столбцы
    const int a=-20, b=20;
    double matrix[row][col]; //сначала строки потом столбцы
    double res=0;
    int kilkist_0=0;
    cout<<"MATRIX 4x5:"<<endl<<endl;
    for (int i=0; i<row; i++)
    {
    for (int j=0; j<col; j++)
           {
        matrix[i][j]=a+rand()%(b-a+1);
               cout<<"["<<i<<"]["<<j<<"]="<<matrix[i][j]<<"\t";
           }
           cout<<endl;
     }
     cout<<endl;
     for (int i=0; i<row/2; i++)
     {
    for (int j=0; j<col; j++)
           {
                res=matrix[i][j];
                matrix[i][j]=matrix[row-i-1][j]; //здесь у вас была ошибка в индексах
                matrix[row-i-1][j]=res; // ну и здесь тоже
    }
    }
    cout<<"REVERS MATRIX: \n";
    for (int i=0; i<row; i++)
    {
        for (int j=0; j<col; j++)
        {
            cout<<"["<<i<<"]["<<j<<"]="<<matrix[i][j]<<"\t";
        }
        cout<<endl;
    }
    cout<<endl;
    getchar();
    return 0;
}
Yandex
Объявления
12.02.2011, 18:01     Реверс масива по строках.
Ответ Создать тему
Опции темы

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