1 / 1 / 0
Регистрация: 31.01.2012
Сообщений: 5

нужна функция для обмена строк двумерного массива на плюсах

31.01.2012, 22:35. Показов 1581. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
доброго времени суток нужна ваша помощь в решении задачи
вот здесь она уже решена но это c# а мне нужно точно такаяже прога на плюсах
https://www.cyberforum.ru/csha... 06369.html
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.01.2012, 22:35
Ответы с готовыми решениями:

Написать функцию для обмена строк двумерного массива
Написать функцию для обмена строк двумерного массива с ее помощью отсортировать массив по элементам третьего столбца.

Написать функцию для обмена строк двумерного массива
Написать функцию для обмена строк двумерного массива с ее помощью отсортировать массив по элементам третьего столбца. помогите с этой...

Написать функцию для обмена строк двумерного массива и с ее помощью отсортировать массив
нужно написать функцию для обмена строк двумерного массива и с ее помощью отсортировать массив по элементам третьего столбца. я написала...

4
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
31.01.2012, 23:50
Вариантов много вот один из них
Вот как то так :
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
51
52
53
54
#include<iostream>
#include<iomanip>
int main(void)
{
 
    int mas[][5] ={ { 1, 2, 3, 4, 5 }, { 11, 22, 33, 44, 55 }, { 6, 7, 8, 9, 0 }, { 66, 77, 88, 99, 00 }, { 1, 3, 5, 7, 9 } };
    //показываю не отвортерованые массивы
    for(int i=0;i<5;i++)
    {
        for(int f=0;f<5;f++)
        {
            std::cout<<mas[i][f]<<' ';
            if(i%2==0)
            {std::cout<<' ';}
        }
        std::cout<<std::endl;
    }
    
    int** mas_pt= new int*[5];
    for(int i=0;i<5;i++)
    {
        mas_pt[i]=new int[5];
        for(int d = 0;d<5;d++)
        {
            mas_pt[i][d]= mas[i][d];    
        }
    }
    //сортировака указателей по третему стоблцу
    for(int i =0;i<4;i++)
    {   for(int k=i+1;k<5;k++)
        {
            if(mas_pt[i][2]>mas_pt[k][2])
            {
                int* temp=mas_pt[i];
                mas_pt[i] = mas_pt[k];
                mas_pt[k] = temp;
            }
        }
    }
    //вывод на экран отсортированного массива
    std::cout<<std::endl;
    for(int i=0;i<5;i++)
    {
        for(int f=0;f<5;f++)
        {
            std::cout<<std::setw(1)<<mas_pt[i][f]<<' ';
            if(i<3)
            {std::cout<<' ';}
        }
        std::cout<<std::endl;
    }
    system("pause");
return 0;
}
Согласен грязновато написано, но рабочий код есть теперь можно заняться оптимезацией....убрать лишнее.
P.S: писав в Visual Studio 10 так что если что то не будет работать можно что нибудь придумать.
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.02.2012, 00:09
Цитата Сообщение от taldarimm Посмотреть сообщение
нужна функция для обмена строк двумерного массива на плюсах
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
51
52
53
54
55
#include <iostream>
#include <iomanip>
 
template <class T>
void my_swap(T& a, T& b)
{
    T c = a;
    a = b;
    b = c;
}
 
template <class Iterator>
void swap_rows
(
    Iterator first1, const Iterator& last1,
    Iterator first2, const Iterator& last2
)
{
    while((first1 != last1) && (first2 != last2))
        my_swap(*first1++, *first2++);
}
 
int main()
{
    const std::size_t rows = 4;
    const std::size_t cols = 5;
    int arr[rows][cols] = { { 1,  2,  3,  4,  5  },
                            { 6,  7,  8,  9,  0  },
                            { -1, -2, -3, -4, -5 },
                            { -6, -7, -8, -9, 0  } };
    for(const auto& i: arr)
    {
        for(const auto& j: i)
            std::cout << std::setw(4) << j;
        std::cout << std::endl;
    }
    std::cout << std::endl;
    swap_rows
    (
        *arr,       *arr + cols,
        *(arr + 2), *(arr + 2) + cols
    );
    swap_rows
    (
        *(arr + 1), *(arr + 1) + cols,
        *(arr + 3), *(arr + 3) + cols
    );
    for(const auto& i: arr)
    {
        for(const auto& j: i)
            std::cout << std::setw(4) << j;
        std::cout << std::endl;
    }
    return 0;
}
http://liveworkspace.org/code/... 2e9d21b660
0
1 / 1 / 0
Регистрация: 31.01.2012
Сообщений: 5
01.02.2012, 01:49  [ТС]
спасибо сам я работаю (вернее учусь ) в devcpp но думаю подогнать прогу ума хватит.. а если не хватит еще поговорим ))

Добавлено через 2 минуты
работает !!!

Добавлено через 3 минуты
вот только если не трудно прокоментите как оно работает ) мне надо вывод к лабе написать
Цель: Организовать обработку массивов с использованием функций, научиться передавать массивы как параметры функций.

вывод типа : я молодец в ходе выполнения лабы я научился ..... не катируется буду сочинять )

Добавлено через 21 минуту
сразу первый вопрс (думаю грамотный )
в чем писалась програмулина dev? visual? LWS ?
ибо
вторая прога чет на int main матюгается хотя его там даже нет


[Build Error] [massive_main.o] Error 1


`int main()' redeclared as different kind of symbol
int main обьявлена в разных видах символа (чесно ниче не понял )


ISO C++ forbids declaration of `i' with no type
запрещает представлять 'i' без типа

это еще не все на что он матюкается
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.02.2012, 02:08
taldarimm, значит ваш компилятор не поддерживает новый стандарт. Забейте, вам нужна только функция, верно? Ну дак она в строках ##4 - 21
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2012, 02:08
Помогаю со студенческими работами здесь

Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика
Помогите,пожалуйста,написать функцию.Вот задание: Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив...

Strtok для двумерного массива строк: При первом же заходе в цикл, функция возвращает NULL
Суть вот в чем: нужно ввести массив строк, затем в каждой строчке выделить 5-ое слово (в каждой строчке всего 5 слов), и перевести в число...

Нужна блок схема для двумерного массива
program Project2; const k=10; {$APPTYPE CONSOLE} Var FlagCh, FlagKr, FlagM : Boolean; a: array of integer; g,l,m,i,j, n:...

Функция для двумерного массива
Мне нужно написать функцию или скажите, пожалуйста, правильно ли она составлена в коде /* в каждой строке существуют элементы на...

Нужна рекурсивная функция для переворачивания строк
Write a recursive function to reverse a string :coffee:


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

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

Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru