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

Дана действительная матрица [aij]i,j=1,…,n. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выбрать из текста слова, начинающиеся и заканчивающиеся одной и той же буквой, и вы-вести их на экран. http://www.cyberforum.ru/cpp-beginners/thread545627.html
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) {char s; char mas,n; char st; char sd;
C++ Разработать программу для работы с двунаправленным связными списками. 1 Разработать программы которые выполняют операции, указанные в индивидуальном задании. 2 Разработать программу для работы с двунаправленным связными списками. Каждый элемент списка содержит ссылку на следующий и предыдущий элементы списка. Программа должна обеспечивать ввод и построение списка. 3 Разработать программу для работы с деревьями. Каждый элемент дерева содержит ссылку на... http://www.cyberforum.ru/cpp-beginners/thread545594.html
Значение по-умолчанию для ссылки C++
Здравствуйте, есть такой код: void iterateTheElements(someClass &parent = someClass ()); Под MVSC все нормально работает, MinGW же на это ругается: C:\Users\ruzik\Documents\my_projects\RizekFaster\Widgets\RDataTreeView\RDataTreeView.h:19: ошибка: default argument for parameter of type 'QModelIndex&' has type 'QModelIndex' Как можно без "садо-мазо"(типа постоянного хранения пустой переменной)...
Файл: Записать в файл g целые числа b1..bn по следющим условиям: b[i] = i и b[i] = 2^i +3^(i+1) C++
Дано натуральное n. Записать в файл g целые числа b1..bn, определенные так , как в этих пунктах: а) i ; б) д) 2^i +3^(i+1) Решите на C++ пожалуйста! .
C++ В массиве вычислить среднее арифметическое и вычесть его из каждого элемента массива. http://www.cyberforum.ru/cpp-beginners/thread545580.html
Файлы. Работа с одномерными массивами Постановка задачи 1 Прочитать из файла два одномерных массива разной длины. Для каждого из них в отдельности вычислить среднее арифметическое, вычесть его из каждого элемента массива. Элементы 1-го массива: 1,2,3,4,5. Элементы 2-го массива: 6,7,8,9,10,11,12.
C++ Установить цветной текстовый режим с 40 символами по горизонтали. Создать окно 7х7 символов в левом верхнем углу экрана. Решить нужно в Турбо-среде Borland C++ Текстовый режим Постановка задачи 1 Установить цветной текстовый режим с 40 символами по горизонтали. Создать окно 7х7 символов в левом верхнем углу экрана. Написать на красном фоне желтым цветом ( без кавычек). Переместить окно в центр экрана, занести его в память, а затем воспроизвести по незаполненным трем углам экрана. подробнее

Показать сообщение отдельно
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
11.04.2012, 22:44     Дана действительная матрица [aij]i,j=1,…,n.
Формулировка:
Дана действительная матрица [aij]i,j=1,…,n. Получить
действительную матрицу [bij]i,j=1,…,n, элемент bij которой
равен наименьшему из элементов данной матрицы,
расположенных в заштрихованной области(как на картинке), определяемой
индексами i, j как показано на рисунке. Размер матрицы и ее
элементы вводятся с клавиатуры.

Не понимаю, почему перебирает элементы не так. помогите исравить.
вот код:

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
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
#include <locale>
#include <conio.h>
    using namespace std;
 
void in(int *a, int n){
    for(int i = 0; i < n; i++){
        for(int j = 0; j <n; j++){
            cout << "a[" << i << ", " << j << "] = "; cin >> *(a + (i * n + j));
        };
    };
};
void out(int *a, int n){
    for(int i = 0; i < n; i++){
        for(int j = 0; j <n; j++){
            cout << *(a + (i * n + j)) << " ";
        };
        cout << "\n";
    };
};
 
int ref(int *a, int n, int _i, int _j){
    int min = *(a + (_i * n + _j));
    for(int i = _i; i >= 0; i--){
        for(int j = _j; j >= 0; j--){
            if(*(a + (i * n + j)) < min)min = *(a + (i * n + j));
            cout << *(a + (i * n + j)) << " ";
        };
    };
    cout << "\nmin элем. : " << min << "\n";
    cout << "\n-----------------------------------\n";
    return min;
};
 
int main(){
    setlocale(0,"rus");
    int n;
    do{cout << "Введите размерность матрицы = "; cin >> n;}while(n <= 0);
    int *a;
    a = new int[n * n];
    int *b;
    b = new int[n * n];
    in(a, n);
    cout << "\n-----------------------------------\n";
    out(a, n);
    cout << "\n-----------------------------------\n";
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            *(b + (i * n + j)) = ref(a, n, i, j);
        };
    };
 
    out(b, n);
    delete(a);
    delete(b);
    _getch();
}
Изображения
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru