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

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

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

Двумерный массив и я - чайник - C++

01.12.2009, 18:13. Просмотров 965. Ответов 8
Метки нет (Все метки)

Вот собственно задача:
Выполнить перестановку столбцов и строк двумерного массива так, чтобы минимальный элемент приобрел индекс 1.1 (левый верхний). Выводить массив на экран на каждом шаге с комментариями действий.
Помогите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2009, 18:13     Двумерный массив и я - чайник
Посмотрите здесь:
C++ Как можно вложить двумерный массив в двумерный?
Массив: Как скопировать двумерный массив в другой массив? C++
Чем отличаются двумерный символьный массив и массив указателей на строки C++
Массив: Как можно задать и вывести симметричный двумерный массив? C++
Дан двумерный массив, создать другой массив, строками которого будут диагонали первого массива C++
Дан двумерный массив. Сформировать одномерный массив из элементов заданного массива, расположенных под побочной диагональю. C++
Скопировать двумерный массив в одномерный массив из 50 элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_viktor_
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 6
01.12.2009, 20:49  [ТС]     Двумерный массив и я - чайник #2
Помогите пожалуйста,сдавать очень скоро... Можно и за денюжку помоч...
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
01.12.2009, 21:04     Двумерный массив и я - чайник #3
ты б начал с указания языка и что умеешь, а лучше что умеешь показал
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.12.2009, 21:28     Двумерный массив и я - чайник #4
вот
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
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n, m, i, j, mi(0), mj(0), k;
    std::cout<<"Введите количество строк:\n> ", std::cin>>n;
    std::cout<<"Введите количество столбцов:\n> ", std::cin>>m;
 
    std::cout<<"Введите матрицу:\n";
    int** mas = new int*[n];
    for(i = 0; i < n; ++i)
    {
        mas[i] = new int[m];
        for(j = 0; j < m; ++j)
        {
            std::cin>>mas[i][j];
            if(mas[i][j] < mas[mi][mj])
                mi = i, mj = j;
        }
    }
    std::cout<<std::endl;
    for(k = 0; k < n; ++k)
    {
        mas[k][0] ^= mas[k][mj] ^= mas[k][0] ^= mas[k][mj];
        for(i = 0; i < n; ++i, std::cout<<std::endl)
            for(j = 0; j < m; ++j, std::cout<<' ')
                std::cout<<mas[i][j];
        std::cout<<std::endl;
    }
 
    for(k = 0; k < m; ++k)
    {
        mas[0][k] ^= mas[mi][k] ^= mas[0][k] ^= mas[mi][k];
        for(i = 0; i < n; ++i, std::cout<<std::endl)
            for(j = 0; j < m; ++j, std::cout<<' ')
                std::cout<<mas[i][j];
        std::cout<<std::endl;
    }
 
    std::cout<<"Результат:\n";
    for(i = 0; i < n; ++i, std::cout<<std::endl)
        for(j = 0; j < m; ++j, std::cout<<' ')
            std::cout<<mas[i][j];
    system("pause");
    return 0;
}

Цитата Сообщение от _viktor_ Посмотреть сообщение
Можно и за денюжку помоч..
А килограмм печенья привезешь вместо денег?
_viktor_
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 6
02.12.2009, 16:07  [ТС]     Двумерный массив и я - чайник #5
ну форум про с/с++ значит прогу нада на с или с++ =) про печенье,то вместо того,чтобы так шутить по тупому лучше бы помогли. Хотя уже не нада,сегодня сам написал. Вот:

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// laba4.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "stdafx.h"
#include "conio.h"
#include "process.h"
#include "math.h"
#include "stdlib.h"
#include "time.h"
 
void print_array (int **a,int m, int n);
 
int _tmain(int argc, _TCHAR* argv[])
{ 
int **mas = NULL;
int *temp = NULL;
int i = 0; 
int j = 0;
int m = 0;
int n = 0;
int min = 0;
int imin = 0;
int jmin = 0;
char menu;
 
do
{
    printf("\n 1 - vvod \n 2 - obrabotka \n 3 - vivod \n 0 - exit \n");
    menu = _getch();
        
    switch(menu)
        {
            case '1':    
                printf ("vvedite kol-vo strok: ");
                scanf_s("%d",&m);
                printf ("vvedite kol-vo stolbcov: ");
                scanf_s("%d",&n);
  
                temp = new int[100];
                mas = new int *[m];
                for (int i=0; i<m; i++)
                    mas[i]= new int[n];
                    for (int i=0; i<m; i++)
                        for (int j=0; j<n; j++)
                        {
                            mas[i][j]=rand()%25;
                        }
                break;
 
            case '2':
                printf("****************************\n");
                print_array (mas, m, n );
                printf("****************************\n");
                _getch();
 
                min = mas[0][0];
 
                for(i = 0; i < m; ++i)
                {
                    for(j = 0; j < n; ++j)
                    {
                        if(mas[i][j] < min)
                        {
                            min = mas[i][j];
                            imin = i;
                            jmin = j;
                        }
                    }
                }
 
                for(i = 0, j = jmin; i < n; ++i)
                {
                    temp[i] = mas[i][j];
                    mas[i][j] = mas [i][0];
                    mas[i][0] = temp[i];
                }
            
                printf("****************************\n");
                print_array (mas, m, n );
                printf("****************************\n");
                _getch();
 
                for(j = 0, i = imin; j < m; ++j)
                {
                    temp[j] = mas[i][j];
                    mas[i][j] = mas [0][j];
                    mas[0][j] = temp[j];
                }
 
                printf("****************************\n");
                print_array (mas, m, n );
                printf("****************************\n");
                _getch();
                break;
 
            case '3':
                printf("****************************\n");
                print_array (mas, m, n );
                printf("****************************\n");
 
                printf("min = %d;\nimin = %d;\njmin = %d.\n", min, imin, jmin);
                _getch();
                break;
 
            case '0':
                break;
 
            default:
                printf("Error!");
                _getch();
 
        }
} while(menu != '0');
 
 
 
//for (int i=0; i<m; i++)
    //delete [] mas [i];
//delete []mas;
      
    return 0;
}
 
void print_array (int **a, int m, int n )
{ 
    int i = 0;
    int j = 0;
    for(i = 0; i < m; ++i)
    {
        for(j = 0; j < n; ++j)
        {
            printf ("%d ", a[i][j]);
        }
        printf("\n");
    }    
}
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.12.2009, 20:10     Двумерный массив и я - чайник #6
Цитата Сообщение от _viktor_ Посмотреть сообщение
вместо того,чтобы так шутить по тупому лучше бы помогли
Собственно прочитай еще раз мое сообщение(кликни на слово "вот"). Там вполне рабочий код на С++
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
02.12.2009, 20:57     Двумерный массив и я - чайник #7
Цитата Сообщение от _viktor_ Посмотреть сообщение
ну форум про с/с++ значит прогу нада на с или с++ =) про печенье,то вместо того,чтобы так шутить по тупому лучше бы помогли. Хотя уже не нада,сегодня сам написал.
поддерживаю старшего товарища M128K145, и от себя добавлю, если ты не чувствуешь разницы между с и с++, то я тебе могу тока посочувствовать. а на каком форуме нахожусь я без сопливых знаю.

не хорошо в общем _viktor_ использовать обороты типа "по тупому" по отношению к модератору особено когда ты не прав
_viktor_
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 6
03.12.2009, 10:24  [ТС]     Двумерный массив и я - чайник #8
ой извините!!!!! не заметил =( стыдно,извините( а на счет с или с++,то я на первом курсе и мы используем немного функций их с и какие то из с++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2009, 00:33     Двумерный массив и я - чайник
Еще ссылки по теме:
Переписать массив строк из файла в двумерный массив C++
Дан двумерный массив размерностью Н. сформировать одномерный массив из элементов заданного массива расположенных над главной диагональю. C++
C++ Создайте двумерный массив целочисленный массив А[1..10], [1..7] и найдите сумму всех его элементов имеющие оба нечетные индексы.
C++ Двумерный массив. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца

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

Или воспользуйтесь поиском по форуму:
Жека10
1 / 1 / 0
Регистрация: 26.11.2009
Сообщений: 5
09.12.2009, 00:33     Двумерный массив и я - чайник #9
ребят, помогите разрешить двумерный массив!

Дан вещественный массив из 3 строк и 5 столбцов.Упорядочить массив по убыванию дробной части элементов второй строки.
Yandex
Объявления
09.12.2009, 00:33     Двумерный массив и я - чайник
Ответ Создать тему
Опции темы

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