С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
z.a.m
49 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 57
#1

Двумерный массив. Перемещение строк местами. - C++

07.11.2010, 19:19. Просмотров 356. Ответов 0
Метки нет (Все метки)

Помогите разобраться пожалуйста, что не так?
Задание выглядит так
Составить программу, которая получает матрицу В размером m *n и два числа i<m и j<m. Если матрица в каждой четной строке имеет положительную сумму элементов, то программа формирует новую матрицу, меняя местами элементы строки с номером i на элементы строки с номером j исходной матрицы В
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
#include <iostream>
using namespace std;
int const n = 5;
int const m = 5;
bool function_1 (double);
void function_2 (double , int, int);
void input (double );
bool repeat (void);
void main (void)
{
    do
    {
    int i, j;
        cout << "Input i: ";
                cin >> i;
        cout << "Input j: ";
                cin >> j;
    double B[n][m];
    input((*B)[m]);
    if (function_1((*B)[m]))
        function_2((*B)[m], i, j);
    else 
        cout << "There is no nessesity to create a new file";
    } while (repeat());
}
bool repeat (void)
{
    char symbol;
    cin >> symbol;
    if ((char)tolower(symbol) == 'y')
        return 1;
    else 
        return 0;
}
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
#include <iostream>
using namespace std;
extern int const n = 5;
extern int const m = 5;
void input (double (*B)[m])
{
    cout <<  "Input elements of file\n";
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            cin >> B[str][stl];
        }
    }
}
void ouput (float (*B)[m], float (*newB)[m])
{
    cout <<  "\nn Old file\n";
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            cout << B[str][stl];
        }
    }
    cout << "\n\nNew file\n";
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            cout << newB[str][stl];
        }
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
extern int const n = 5;
extern int const m = 5;
bool function_1 (float (*B)[m])
{
    float sum, count=0;
    for (int str=0; str<n; str++)
    {
        sum=0;
        for (int stl=0; stl<m; stl++)
        {
            sum+=B[str][stl];
        }
        if (sum>0)
            count++;
    }
    if (count>=(n-1))
        return 1;
    else 
        return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
extern int const n = 5;
extern int const m = 5;
void output (double , double);
void function_2 (double (*B)[m], int i, int j)
{
    double newB[n][m], temp;
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            newB[n][m]=B[n][m];
        }
    }
 
    for (int stl=0; stl<m; stl++)
        {
            temp = newB[i][stl];
            newB[i][stl]=newB[j][stl];
            newB[j][stl]=temp;
        }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2010, 19:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двумерный массив. Перемещение строк местами. (C++):

Двумерный массив. Поменять местами max и min четных строк - C++
Составить программу на языке C++ для обработки двумерных массивов с использованием указателей и входных и выходных файлов. Дана...

Двумерный массив, перемещение строки и столбца - C++
Привет. Создается массив и нужно поменять местами 1 строчку с 1 столбцом. Кто может подсказать как это сделать в этом коде, тут элементы...

Дан двумерный массив. Поменять местами 1 и 3 строки - C++
Нужно поменять местами 1 и 3 строки. Я сначала ввожу кол-во строк и столбцов, допустим 3 и 4. Затем задаю 12 чисел от 1 до 12. Сначала...

Двумерный массив: поменять местами две строки - C++
В матрице из целых положительных чисел поменять местами две строки: строка, которая содержит максимальный элемент матрицы, и строку,...

Двумерный массив.Мах и Мин поменять местами... - C++
Здравствуйте! Написать программу которая создает матрицу a*b. Найти максимальный элемент.И поменять их в массиве местами вывести массив....

Двумерный массив: поменять местами две строки - C++
Нужно поменять местами две строки в массиве:строку, которая содержит максимальный элемент матрицы, и строку, содержащую минимальный ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2010, 19:19
Привет! Вот еще темы с ответами:

Переписать массив строк из файла в двумерный массив - C++
Переписать массив строк из файла в двумерный массив типа CHAR &quot; char Map&quot; вот что получается, как сделать чтоб копировал строку в...

Двумерный массив строк - C++
Помогите реализовать двумерный массив строк...чтобы с клаиватуры можно было вводить размерность массива и каждую ячейку заполнить словом,...

Двумерный динамический массив строк - C++
Надо создать двумерный динамический массив размером 5x5 (5 ячеек, для 5 строк). Заполнить его строчками текста, принятыми с клавиатуры. ...

Двумерный массив и сравнение строк - C++
Дана целочисленная матрица размера M x N. Различные строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.