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

Метод ранга. Неверно выводит результат - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции. Обработка числовых последовательностей http://www.cyberforum.ru/cpp-beginners/thread835606.html
Написать программу, последовательно выполняющую перечисленные ниже задачи. Предусмотреть печать приглашения на ввод (строки, поясняющей пользователю, какие действия от него ждет программа) и информативный вывод данных. Задание 1. Длина последовательности целых чисел – случайное число от 10 до 30. Последовательность генерируется случайным образом или вводится с клавиатуры по желанию...
C++ Microsoft Visual Studio Помогите пожалуйста! Задание: Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10. Найти сумму модулей элементов, расположенных выше главной диагонали. Заранее спасибо огромное! http://www.cyberforum.ru/cpp-beginners/thread835597.html
C++ Файл: Во всем тексте вставить переход на новую строку там, где есть два или больше пропусков подряд.
Дано такое задание:Во всем тексте вставить переход на новую строку там, где есть два или больше пропусков подряд. Я учил циклы,одно-и двумерные массивы,строки. Заранее спасибо.
C++ Вычисления функций с использованием их разложения в степенной ряд. Объяснить
Условие Для х, изменяющегося от a до b (интервал целиком лежит внутри интервала, указанного в третьей колонке) с шагом , вычислить функцию y=f(x), используя ее разложение в степенной ряд (вторая колонка) в двух случаях: а) для заданного количества слагаемых N (величина зависит от свойств степенного ряда, примерное значение N указано в четвёртой колонке); б) для заданной точности  (близкое...
C++ Массив: Проверить, есть ли два элемента среди отрицательных с максимальным значением? http://www.cyberforum.ru/cpp-beginners/thread835589.html
Есть ли два элемента среди отрицательных с максимальным значением?
C++ Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, Пусть v1=v2=0; v3=1,5; vi=((i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3)), i=4,5,.. Дано натуральное n (n>=4).Получить vn.* Подскажите в чем ошибка,ведь результирующее число не должно быть в -39 степени. #include <iostream> #include <clocale> using namespace std; int main() { setlocale(LC_CTYPE,"Russian"); // установка русского языка подробнее

Показать сообщение отдельно
Spotter
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 130
15.04.2013, 10:00  [ТС]     Метод ранга. Неверно выводит результат
Tulosba, огромнейшее Вам спасибо! Ещё в последнем действии такая же проблема, может подскажете, что не так сделал?

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
#include <iostream>
#include <conio.h>
#include <clocale>
#include <iomanip>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    //Введем исходную матрицу оценок экспертов 
 
    int s[6][3] = {{1, 2, 3}, {2, 1, 3}, {2, 3, 1}, {3, 2, 1}, {3, 1, 2}, {1, 2, 3}};
    int i, j; 
    int k[6];
    float w[3];
 
    //выведем нашу матрицу на экран
    cout << "Наш массив:\n"; 
    for (i = 0; i < 6; i++) {
        for (j = 0; j < 3; j++)
            cout << s[i][j];
        putchar('\n');
    }
 
    //посчитаем матрицу нормированных оценок
    float z[6][3];
    for (i = 0; i < 6; i++) {
        int sum = 0;
        for (j = 0; j < 3; j++)
        {
            sum += s[i][j];
        }
        k[i] = sum;
    }
    
    for (i = 0; i < 6; i++) {
        for (j = 0; j < 3; j++)
        {
            z[i][j] = float(s[i][j])/float(k[i]);
        }
    }    
 
    //вывод матрицы нормированных оценок
    cout << "\nМатрица нормированных оценок: \n";
    cout.precision(3);
    for (i = 0; i < 6; i++) {
        for (j = 0; j < 3; j++) 
        cout << fixed << setw(6) << z[i][j];
        putchar('\n');
    }
    cout << "\n";
 
    //найдем веса целей
    w[j] = (z[0][j] + z[1][j] + z[2][j] + z[3][j] + z[4][j] + z[5][j])/6;
    for (j = 0; j < 3; j++)
        cout << j+1 << " Альтернатива: " << w[j] << endl;
 
    //сортируем по убыванию
    int temp;
    if (w[i] > w[j] && i < j) {
        temp = w[i];
        w[i] = w[j];
        w[j] = temp;
    }
 
    getch();
}
Метод ранга. Неверно выводит результат
 
Текущее время: 02:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru