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

В каждой строке матрицы найти min и max, поменять местами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов. http://www.cyberforum.ru/cpp-beginners/thread171880.html
Буду благодарен! Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов.
C++ Asm + C++ Помогите на C++ считает нормально , а на asm #include<iostream> #include<stdio.h> #include <iomanip> using namespace std; bool x3,x2,x1,x0,F1,F2,F3,f1a,f2a,f3a; int main() { setlocale(LC_ALL,"rus"); printf("\n\t\t Ло А.В."); printf("\n\tВычислить значение логических функций:"); http://www.cyberforum.ru/cpp-beginners/thread171877.html
C++ Чтение файлов, дата, POST, обработка исключений
Если в кратце: сам пишу на C#, C++ почти не знаю, даже точнее совсем не знаю. И тут потребовалось срочно сделать ДЛЛ в VS2008. Времени разбираться нет, а то сам бы сделал, задача не очень сложная. Из текстового файла, который лежит рядом с программой необходимо прочесть три строчки, первая не нужна, из второй и третьей вырезать по шабону: "sometext = НужныйТекстДоКонцаСтроки". После чего...
Нахождение суммы C++
Всем доброго времени суток! Помогите, пожайлуста, решить задание. Просто уже весь день вожусь и вообще ни как не пойму как сделать((( Вот само задание: Заранее благодарен! Во избежании потери информации на сторонних ресурсах загружайте изображения через Вложения в Расширенном режиме редактирования сообщения.
C++ Удаление из матрицы столбцов. http://www.cyberforum.ru/cpp-beginners/thread171862.html
Добрый день! Помогите пожалуйста с заданием на С++. Перепробовала уже все на что способна, а все равно не получается((( Конечный вариант текста программы ниже. Задание звучит так: Дана матрица A=(aij)mxn. Сформировать матрицу B=(bij) mxn , исключив из матрицы A столбцы, содержащие элементы равные 1. Сформировать вектор D=(d1, d2 ,…, dn) из номеров столбцов, матрицы A, содержащих элементы...
C++ Склонение существительного Проходим оператор switch... В зависимости от целого числа просклонять заданное существительное. ....Ну это,как я понимаю,типа вводим существительное- книга и любое число,например,-11.И программа должна вывести 11 книг. если 2,то 2 книги. .....Что-то как то не очень в голове укладывается,помогите пожалуйста!!!Как составить программу( Добавлено через 1 минуту е если 1003,то 1003... подробнее

Показать сообщение отдельно
dihlofos
Бродяга
 Аватар для dihlofos
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
04.10.2010, 06:02     В каждой строке матрицы найти min и max, поменять местами
m108, у вас просто почему то не определяется system("pause"). Какой у вас компилятор? Попробуйте подключить ещё #include <stdlib.h>, или используйте для паузы cin.get().
Переделал с использованием указателей:
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
#include <iomanip.h>
#include <iostream.h>
 
int main()
{
        int n,m,i,j;
        float min, max;
        int jMax, jMin;
 
        cout<<"Vvedite n: ";
        cin>>n;
        cout<<"Vvedite m: ";
        cin>>m;
 
        float **a=new float*[n];
        for(i=0;i<n;i++)
                a[i]=new float[m];
 
 
        float **b=new float*[n];
        for(i=0;i<n;i++)
                b[i]=new float[m];
 
 
        for(i=0; i<n; i++)              // Ввод a[]
                for(j=0; j<m; j++)
                {
            cout<<"Vvedite element ["<<i<<"]["<<j<<"] : ";
            cin>>*(*(a+i)+j);
        }
 
        cout<<"Array a: "<<endl;
        for(i=0; i<n; i++)              // Вывод a[]
        {
                for(j=0; j<m; j++)
            cout<<setw(5)<<*(*(a+i)+j);
                cout<<endl;
    }
 
        for(i=0; i<n; i++)              // Заполнение b[]
        {
        min=max=*(*(a+i)+j);
                jMax=jMin=0;
 
                for(j=0; j<m; j++)
                {
            *(*(b+i)+j)=*(*(a+i)+j);
                        if (a[i][j]<min) // Поиск мин
                        {
                min=*(*(a+i)+j);
                                jMin=j;
                        }
            else if (*(*(a+i)+j)>max)  // Поиск макс
                        {
                max=*(*(a+i)+j);
                                jMax=j;
                        }
                }
        *(*(b+i)+jMax)=*(*(a+i)+jMin); // Перестановка
        *(*(b+i)+jMin)=*(*(a+i)+jMax);
        }
 
        cout<<"Array b: "<<endl;
        for(i=0; i<n; i++)              // Вывод  b[]
        {
                for(j=0; j<m; j++)
            cout<<setw(5)<<*(*(b+i)+j);
                cout<<endl;
        }
 
 
        for (i=0;i<n;i++)
                delete []a[i];
        delete []a;
 
        for (i=0;i<n;i++)
                delete []b[i];
        delete []b;
    ///////////
    cout<<endl;
    cin.get(); cin.get();
        return 0;
}
Добавлено через 21 минуту
Ошибки в вашем примере:
1) Массив виден только в ф-ции main(), объявите его уж тогда глобально или передавайте его в функции.
2) Раз main возвращает значение то записывайте int main().
3) Не хватает несколько закрывающих скобок в функциях.
4) Вызываете неизвестные функцию vivod() и clrsqr(). Для последней подключите stdio.h. или замените на system("cls").
5) Если будут проблемы с глобальными переменными min и max - переименуйте.
 
Текущее время: 01:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru