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

Квадратная матрица, ошибки в коде - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Правильно ли я делаю?? http://www.cyberforum.ru/cpp-beginners/thread538610.html
Составьте программу, которая выводит на экран следующий результат (если x+y равно 13): Сумма х и у равна 13 В программе должен определяться макрос SUM с двумя аргументами х и у, который и осуществляет вывод указанной строки. #include <stdio.h> #include <math.h> #define NDEBUG int main(){
C++ Заменить все встречающиеся окончания ING на ED Исходный текст на английском языке записан в нескольких строчках одинаковой длины (возможны переносы). Заменить все встречающиеся окончания ING на ED и уплотнить текст. http://www.cyberforum.ru/cpp-beginners/thread538603.html
C++ Как работать с файлом *.dat с помощью fstream
В исходном типизированном файле целых значений «In.dat» заменить первый элемент на количество элементов в файле. Если исходный файл пуст, то записать в него число ноль. Если исходного файла не существует, то вывести на экран сообщение об ошибке.
Как передать в функцию Vector C++
По причине того что мой вектор наследуется от структуры: struct callStruct { String callNumber; int countLine; int callTime; }; vector <callStruct> callList; void delCallIndex(vector <callStruct> array, int index) { array.erase(array.begin() + index, array.begin() + index + 1);
C++ Написать программу которая расчитает http://www.cyberforum.ru/cpp-beginners/thread538566.html
Напишите программу, в которой определите макрос с одним аргументом, при помощи которого можно было бы вычислять объем сферы. Программа должна рассчитать объем сферы, радиус которой изменяется от 1 до 10, и выдать результаты в табличной форме. Формула для объема сферы: ( 4.0 / 3 )* р * (r ^ 3) где р равно 3.14159. Помогите... как начать?? с чего начать??
C++ Помогите с Рекурсией ! Даны первый член и разность арифметической прогрессии. Написать рекурсивную функцию для нахождении n-ого члена прогрессии и сумму всех элементов до n. Правильно я сделал? #include "stdafx.h" #include <iostream> using namespace std; int member(int memb, int dif, int n) { if (n) memb=dif+member(memb, dif, n-1); подробнее

Показать сообщение отдельно
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 492
04.04.2012, 15:35     Квадратная матрица, ошибки в коде
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
 
int getSumOfDiagonal(int n, int ** A)
{
int i,j, max = 0,sum = 0,index = n-1,dlina = 1;
    while(index)
    {
        for(i = 0,j = index; i < dlina; ++i, ++j)
            sum += A[i][j];
        if (max < sum)
        {
            max = sum;
        }
        sum = 0;
        for(i = 0, j = index; i < dlina; ++i, ++j)
            sum += A[j][i];
        if (max < sum)
        {
            max = sum;
        }
        sum = 0;
//////////////////////==Cпециально для подсчета на главной диагонали==///
        for ( i = 0; i < n; i++)
        {
            for ( j = 0; j < n; j++)
            {
                if (i==j)
                {
                     sum +=A[i][j];
                }
            }
       }
       if (max < sum)
       {
            max = sum;
       }
       sum = 0;
 //////////////////////////////////////////////////////////////////////////
        ++dlina;//увеличиваем размер диагонали на 1
        --index;//"стартовый" индекс index уменьшаем на 1 и так до тех пор, пока index не равен 0
    }
    printf("\nResult: %d",max);
    return sum;//вернем значение
}
 
int main()
{
          setlocale(LC_ALL,"Russian");
          int i,j,n,m;
                                while(!fflush(stdin)&&printf("Введите размерность матрицы: ")&&!scanf("%d",&n));
                                int **A = (int**)malloc(sizeof(int*) * n);
                                for(i=0; i<n;i++)
                                {
                                                A[i] = (int*)malloc(sizeof(int) * n);
                                }
                                for(i=0;i<n;i++)
                                {
                                                for(j=0;j<n;j++)
                                                {
                                                        while(!fflush(stdin)&&printf("A[%d][%d] = ",i+1,j+1)&&!scanf("%d",&A[i][j]));      
                                                }
                                }
                                printf("\n\n\tМатрица А\n\n");
                                for(i=0;i<n;i++)
                                {
                                                for(j=0;j<n;j++)
                                                {
                                                        printf("%i ",A[i][j]);     
                                                }
                                                printf("\n");
                                }
                                getSumOfDiagonal(n,A);
          getch();
          return 0;
}

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