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

Матрица - C++

Восстановить пароль Регистрация
 
шапAnton
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 5
14.05.2012, 23:20     Матрица #1
Помогите сделать прогу(С++). Матрица 6х4 найти в ней мин. и макс. элемент и поменять их местами. Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jazz411
85 / 33 / 3
Регистрация: 12.03.2011
Сообщений: 234
Записей в блоге: 2
15.05.2012, 04:22     Матрица #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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
using namespace std;
int main(void)
{
    const int n=6,m=4;
    int **mass;// если в матрице числа с запятой то вмест int, double
    mass=new int*[n];// если в матрице числа с запятой то вмест int, double
    int max_val_n=0,max_val_m=0,min_val_n=0,min_val_m=0; //координаты мах и мин матрицы
    for(int i=0;i<n;i++)//создаем матрицу n/m и сразу заполняем
    {
        mass[i]=new int[m];//создание строки из 4 элементов (если в матрице числа с запятой то вмест int, double)
        for(int k=0;k<m;k++)//заполняем строку из 4 элементов по очереди
        {
            cout<<"Enter "<<k+1<<" value"<<endl;
            cin>>mass[i][k];
            if(mass[i][k]>mass[max_val_n][max_val_m]) //сразу находим мах и мин значения матрицы
            {
                max_val_n=i;
                max_val_m=k;
            }
            else if(mass[i][k]<mass[min_val_n][min_val_m])
            {
                min_val_n=i;
                min_val_m=k;
            }
        }
    }
    cout<<"You matrix:\n";
    for(int i=0;i<n;i++)//вывод матрицы
    {
        for(int k=0;k<m;k++)
            cout<<mass[i][k];
        cout<<endl;
    }
 
    swap(mass[max_val_n][max_val_m],mass[min_val_n][min_val_m]); // меняем мах и мин местами
 
    cout<<"Exit matrix:\n";
    for(int i=0;i<n;i++)
    {
        for(int k=0;k<m;k++)
            cout<<mass[i][k];
        cout<<endl;
    }
 
    for(int i=0;i<n;i++) // убираем за собой
        delete [] mass[i];
    delete mass;
    return 0;
}
P.S. писал везде коменты думаю разберешь, удачи
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
15.05.2012, 04:50     Матрица #3
Цитата Сообщение от Jazz411 Посмотреть сообщение
delete mass;
Нужно
C++
1
delete [] mass;
так как Вы создаете массив указателей.
Jazz411
85 / 33 / 3
Регистрация: 12.03.2011
Сообщений: 234
Записей в блоге: 2
15.05.2012, 05:24     Матрица #4
Цитата Сообщение от Toshkarik Посмотреть сообщение
Нужно
C++
1
delete [] mass;
так как Вы создаете массив указателей.
спасибо, мой фейл
Yandex
Объявления
15.05.2012, 05:24     Матрица
Ответ Создать тему
Опции темы

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