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

Матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти максимум и минимум массив http://www.cyberforum.ru/cpp-beginners/thread231392.html
Задан целочисленный массив размера N. Найти максимум и минимум массива и напечатать их позиции. //--------------------------------------------------------------------------- #include <conio.h> #include <stdio.h> int main (){ int mas; int n, i, max, min, min_i, max_i ; printf ("Vvedite razmer massiva"); scanf ("%d" ,&n); for (i=0; i<n; i++){
C++ while, do..while Написать программу, которая, используя оператор цикла с параметром (for), находит сумму элементов, указанных в конкретном варианте. Привести варианты решения этой задачи с использованием итерационных циклов (while, do..while). Задание 1. Составить программы вычисления значения функции f(x,y) для заданных значений a, b, c (из табл.1) и произвольного x с автоматическим выбором необходимой... http://www.cyberforum.ru/cpp-beginners/thread231390.html
Площадь фигуры C++
Вычислить площадь фигуры ограниченной линиями f1(x) и f2(x) (табл.1). Для вычисления площади фигуры ограниченной линиями можно использовать итерационное выражение Si+1 = Si + (f2(xi) – f1(xi)) dx , где S0 = 0 , x0 = 0 и i = 0, 1, 2...n . f(x)=20-2*x*x-6*x f(x)=0 использовать цикл while У меня в решении что-то неправильно, dx почему-то неправильный выходит: #include <iostream.h>...
C++ Надо сделать простой калькулятор
Помогите...........НАдо сделать простой калькулятор. вот тема:"розробка програмного забезпечення для створення та роботи простого калькулятора"
C++ DEV++ стандартное окно http://www.cyberforum.ru/cpp-beginners/thread231376.html
#include <windows.h> /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Make the class name into a global variable */ char szClassName = "окошечко с кнопками"; int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
C++ Решение 4х примеров Здравствуйте у меня есть небольшая проблема. Необходимо решить 4 задачи по Си - Автор Богатырев. Номер заданий : 1,86; 2,3; 2,30; 2,31; 1.86. подробнее

Показать сообщение отдельно
Rooney
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 37
20.01.2011, 09:02  [ТС]     Матрицы
Цитата Сообщение от killboss Посмотреть сообщение
Конечно в одну функцию, только выбор между диагоналями можно, к примеру, задавать через флаг (tru, false).
Так надо без выбора надо и для верхней и для нижней найти максимум....
отдельно цикл для верхней, и отдельно для нижней?

Добавлено через 43 минуты
killboss,
как мне это реализовать в функции?
допустим во начальное описание, до самого главного алгоритма...

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
#include<windows.h>
#include<iomanip>
#include<iostream>
#include<fstream>
# define NMAX 100
 
using namespace std;
const int mmax=100,
          nmax=100; 
 
void matr(int matrix[][nmax],int M, char name[]);
void output_matrix (int matrix[][nmax],int M);
void smatrix (int matrix[][nmax],int M);
 
int main()
{
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        int matrix[mmax][nmax];
        int M=0;                      // число строк матрицы
        char name[] = "Matrix92.txt";
        cout << "Введите порядок матрицы:" << endl;
        cin >> M;
        matr(matrix,M,name);
        cout << "Данная матрица:" << endl;
        output_matrix (matrix,M);
        smatrix (matrix,M);
        cout << "Матрица после сортировки: " << endl;
        output_matrix (matrix,M);
        system("pause");
        return 0;
      
}
 
void matr(int matrix[][nmax],int M, char name[]){
      for (int i=0; i < M; i++){
            for (int j=0; j < M; j++){
                // cin >> matrix[i][j];
                matrix[i][j]=1;
            }
      }
}
 
 
void output_matrix (int matrix[][nmax],int M){
     for (int i = 0; i < M; i++){ 
          for (int j = 0; j < M; j++){
               cout << setw(3) << matrix[i][j] << " ";
          }
          cout << endl;
     }
}
 
void smatrix (int matrix[][nmax],int M){
                
 
 
 
}
Вы не можете помочь составить алгоритм, реализующий данное условие?

Добавлено через 9 часов 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include<windows.h>
#include<iomanip>
#include<iostream>
#include<fstream>
# define NMAX 100
 
using namespace std;
const int mmax=100,
          nmax=100; 
 
void matr(int matrix[][nmax],int M, char name[]);
void output_matrix (int matrix[][nmax],int M);
void smatrix (int matrix[][nmax],int M,int &maxL,int &maxN);
 
int main()
{
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        int matrix[mmax][nmax];
        int M=0;                      // порядок матрицы
        char name[] = "Matrix87.txt";
        int maxL , maxN;
        cout << "Введите порядок матрицы:" << endl;
        cin >> M;
        matr(matrix,M,name);
        cout << "Данная матрица:" << endl;
        output_matrix (matrix,M);
        smatrix (matrix,M,maxL,maxN);
        cout << endl <<"Максимальный элемент диагонали 1: " << maxL<<endl;
        cout << "Максимальный элемент диагонали 2: " << maxN<<endl;
        system("pause");
        return 0;
      
}
 
void matr(int matrix[][nmax],int M, char name[]){
      ifstream in(name);
      for (int i=0; i < M; i++){
            for (int j=0; j < M; j++){
                 in >> matrix[i][j];
            }
      }
      in.close();
} 
 
void output_matrix (int matrix[][nmax],int M){
     for (int i = 0; i < M; i++){ 
          for (int j = 0; j < M; j++){
               cout << setw(3) << matrix[i][j] << " ";
          }
          cout << endl;
     }
}
 
void smatrix (int matrix[][nmax],int M,int &maxL,int &maxN){
                bool haveMaxL =false;
                bool haveMaxN =false;
                for(int i =M-2,j=0; i>=0;i--,j++){     // верхняя, параллельная побочной
                            if (!haveMaxL || maxL < matrix[i][j]){
                                 maxL = matrix[i][j];
                                 haveMaxL = true;
                            }
                } 
                for(int i=M-1,j=1; i>0;i--,j++){   // нижняя, параллельная побочной
                            if (!haveMaxN || maxN < matrix[i][j]){
                                 maxN = matrix[i][j];
                                 haveMaxN = true;
                            }
                }
}
 
Текущее время: 08:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru