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

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

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

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

22.05.2012, 18:43. Просмотров 357. Ответов 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++ Дана квадратная таблица a[1:n,1:n]. Переставить местами строки 1 и 2, 3 и 4 и т.д
C++ Переставить местами строки с четными и нечетными номерами в матрице
C++ Переставить местами строки матрицы.
Переставить местами строки C++
Переставить местами строки в масиве C++
C++ Переставить местами строки с наименьшей и наибольшей суммами элементов
C++ Квадратная матрица, переставить строки местами
Строки (В строке переставить местами рядом стоящие слова) C++
Переставить местами первую и последнюю строку массива C++
C++ Переставить местами максимальный и минимальный элементы массива
Переставить местами первый и последний строки прямоугольной таблицы (матрицы) C++
C++ Переставить местами элементы массива по заданной схеме

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
6403 / 3601 / 448
Регистрация: 29.11.2010
Сообщений: 9,528
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Эксперт С++
6403 / 3601 / 448
Регистрация: 29.11.2010
Сообщений: 9,528
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
Ответ Создать тему
Опции темы

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