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

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

Войти
Регистрация
Восстановить пароль
 
Aaaaa111
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 25
#1

Переставить местами ni и nj строки массива A - C++

22.05.2012, 18:43. Просмотров 361. Ответов 3
Метки нет (Все метки)

Задание.Дан числовой массив А, состоящий из n строк и m столбцов. Переставить местами ni и nj строки массива A.

допустим
у нас матрица

Код:

C++
1
a: array[1..n, 1..m] of integer;
заводим доп массив для обмена! Его длина равна количеству столбцов матрицы

Код:
C++
1
temp: array[1..m] of integer;
Тогда обмен будет таким

Код:

C++
1
2
3
temp := a[ni];
a[ni] := a[nj];
a[nj] := temp;
Вот БЛОК-СХЕМА РЕШЕНИЯ http://***************/question/75676407/
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 18:43     Переставить местами ni и nj строки массива A
Посмотрите здесь:

Переставить местами строки - C++
Как в масиве строк поменять, например, первую и вторую строку местами?

Переставить местами строки в масиве - C++
Пусть, например, у нас есть структура Struct ABC{ char b; }; и массив ABC Mas

Переставить местами строки матрицы. - C++
БИЛЕТ №21 3. Дана целочисленная квадратная матрица. Переставьте местами строки матрицы в порядке возрастания первых элементов строк.

Квадратная матрица, переставить строки местами - C++
Задана вещественная квадратная матрица(вводится с клавиатуры). Переставить строку с максимальным элементом на главной диагонали со...

Дана квадратная таблица a[1:n,1:n]. Переставить местами строки 1 и 2, 3 и 4 и т.д - C++
4 Дана квадратная таблица a. Переставить местами строки 1 и 2, 3 и 4 и т.д. Если n нечетно, то последняя строка остается на мест. на С++

Переставить местами строки с наименьшей и наибольшей суммами элементов - C++
Задача. Переставить местами строки с наименьшей и наибольшей суммами элементов. Нужен код. На мове С++

Строки (В строке переставить местами рядом стоящие слова) - C++
Задача: В строке переставить местами рядом стоящие слова. Помогите сделать через 3 строки, именно через 3. Т.е. берется 1 слово и...

Переставить местами строки с четными и нечетными номерами в матрице - C++
В общем суть такова, надо ввести 2 матрицы 4*4,и найти кол-во элементов больших 2.5( NA и NB соответственно). За тем переставить местами...

Переставить местами первый и последний строки прямоугольной таблицы (матрицы) - C++
Переставить местами первый и последний строки прямоугольной таблицы (матрицы)

Переставить местами первую и последнюю строку массива - C++
Помогите пожалуйста найти ошиибкууу :help: Borland C++. Задание: Задан целочисленный массив А размерности NхM. Переставьте местами первую...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
6984 / 4155 / 592
Регистрация: 29.11.2010
Сообщений: 11,021
22.05.2012, 20:16     Переставить местами ni и nj строки массива A #2
Ну, блок схему все равно не видно, а вобще куда проще и быстрее поменять указатели.
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
#include <iostream>
#include <algorithm>
 
int main()
{
    const int m = 4, n = 3;
    int A[m][n], ni, nj;
    for (int i=0; i < m; i++)
    {
        for (int j=0; j < n; j++)
        {  
            A[i][j] = i*m + j + 1;
            std::cout<< A[i][j]<< " ";
        }
        std::cout<< std::endl;
    }
    std::cin>> ni>> nj;
    if (ni < 0 || ni >= m || nj < 0 || nj >= m) return 1;
    std::swap (A[ni], A[nj]);
    std::cout<< "After swap:\n"; 
    for (int i=0; i < m; i++)
    {
        for (int j=0; j < n; j++)
            std::cout<< A[i][j]<< " ";
        std::cout<< std::endl;
    }
    return 0;
}
Aaaaa111
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 25
22.05.2012, 21:03  [ТС]     Переставить местами ni и nj строки массива A #3
Спасибо.. а
C++
1
std::cout<< A[i][j]<< " ";
здесь а кавычках что то надо написать ? и еще если не трудно можете обьяснить как работает функция..
MrGluck
Модератор
Эксперт CЭксперт С++
6984 / 4155 / 592
Регистрация: 29.11.2010
Сообщений: 11,021
22.05.2012, 21:31     Переставить местами ni и nj строки массива A #4
Цитата Сообщение от Aaaaa111 Посмотреть сообщение
Спасибо.. а
C++
1
std::cout<< A[i][j]<< " ";
здесь а кавычках что то надо написать ? и еще если не трудно можете обьяснить как работает функция..
Ковычки - это на самом деле пробел. Помещает в поток стандартного вывода элемент массива с индексами i, j, а затем пробел.
Yandex
Объявления
22.05.2012, 21:31     Переставить местами ni и nj строки массива A
Ответ Создать тему
Опции темы

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