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

Не знаю, как работать с элементамми массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выделить последнее слово из введенной строки http://www.cyberforum.ru/cpp-beginners/thread518814.html
написать программу выделения последнего слова из введенной строки и отображение его на экране
C++ Написать обработчик исключений ситуации при преобразовании указателя на класс B до указателя на абстрактный класс А ... Написать обработчик исключений ситуации при преобразовании указателя на класс B до указателя на абстрактный класс А ... как сделать этот с указателями ??? я делаю вот так но не работает, делал по разному, но уже не знаю как написать 1 сточку правильно A *a; B b(1,2); B *test; test = &b; http://www.cyberforum.ru/cpp-beginners/thread518803.html
Не работает isdigit как задумано C++
int main() { setlocale(LC_ALL,"Russian" ); cout<<"Введите размерность массива="; int n;//размерность масива char nom_mas; cin>>n; nom_mas=n; if(isdigit(nom_mas)) {//bla bla bla}
C++ Задача из ЕГЭ
Есть след. задача(см.текст) Вот как я её решал: #include<iostream> #include<string.h> using namespace std; const int M=100; struct Trains { char Station;//станция char times;//время };
C++ кодирование хаффмана http://www.cyberforum.ru/cpp-beginners/thread518759.html
здравствуйте! я пишу программу сжатия jpeg. написала код для кодирования хаффмана по дереву. и столкнулась с такой проблемой записываю в файл jpeg в маркер ffc4 количество длин кодов и кодируемые символы...(весь файл сохранила как написано в стандарте). и когда начинаю декодировать с помощью программы jpegsnoop она мне выдает коды не те что у меня получились в моей программе...у меня подозрения...
C++ Ход конем На шахматной доске (8х8) стоят конь и пешка. Конь располагается на поле А, пешка - на поле B. Найти минимальное количество ходов, за которые конь доберется до пешки, если последняя стоит на месте. За один ход конь выполняет стандартное шахматное перемещение (буквой "Г"). Необходимо подсчитать наименьшее количество перемещений для перехода коня с поля А на поле В. Формат входных данных... подробнее

Показать сообщение отдельно
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
14.03.2012, 18:32     Не знаю, как работать с элементамми массива
Еужно провести кое-какие преобразования с элементами вектора.

Для начала нужно считать ненулевые элементы матрицы в вектор values типа double, создать еще один coord вектор, стоящий из чисел, построенных по правилу:
i + (j-1)*n , где i - номер строки, j - номер столбца, n - порядок матрицы
теперь нужно разделить все элементы строки на диагональный элемент, стоящий в данной строке, т.е.
если матрица такая
10 1 1
2 10 1
2 2 10
то надо перейти вот к такой матрице:
1 0.1 0.1
0.2 10 0.1
0.2 0.2 1

values = {10, 1, 1, 0, 2, 10, 1, 0, 2, 2, 10}
coord = {1, 4, 7, 0, 2, 5, 8, 0, 3, 6, 9, 0}
для простоты - отделяю элементы одной строки от элементов другйо строки нулями (все-равно я считываю лишь ненулевые элементы из исходного файла) Так же отделяю элменты вектора coord
Это я сделал.

Вот только не получается разделить элементы values, стоящие между нулями (т.е. те, что в одной строке в матрицы) на диагональный элемент.

Вот мой код:

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
    int row = 1;
    for ( int i = 0; i < values_z.size(); i++ )
    {
        if ( values_z[i] == 0 )
        { row++; }
        int colum = (coordinates_z[i] - row)/3 +1;
        if ( row == colum )
        {
            double current_el = values_z[i];
            int q = i;
            // делим элементы, стоящие справа от диагонального на диагональный
            while ( values_z[q] != 0 )
            {
                values_z[q] = values_z[q]/current_el;
                q++;
            }
            // делим элементы, стоящие слева от диагонального на диагональный
            int w = i;
            while (values_z[w] != 0 )
            {
                w--;
                values_z[w] = values_z[w]/current_el;
                if ( w < 0 ) { return 0;}
            }
        }
        if ( row != colum ){}
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru