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

Работа с элементами над/под побочной диагональю - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перекодировщик http://www.cyberforum.ru/cpp-beginners/thread527233.html
Есть четыре среды: 1) среда 1251 2) среда 866 3) KOI-8 4) UTF-8 Запускаем программу, и она должна открыть запрашиваемый файл, перекодировать на одну из выбранных кодировок и вывести это в новом файле Примечание: программа должна уметь перекодировать также из одной среды в другую, сделать быстродейственную программу.
C++ В двумерной матрице найти минимальные элементы каждой строки и переставить на первое место В двумерной матрице состоящей из N на M элементов, найти min элементы каждой строки и min переставить на первое место http://www.cyberforum.ru/cpp-beginners/thread527232.html
Слияние двух массивов, решение с помощью указателей C++
помогите,пожалуйста,решить! Задан массив A из N элементов и массив B из M элементов. Сформировать массив L из массивов A и B путем их слияния так, чтобы сначала располагались все элементы массива A, а затем все элементы массива B. Значения N и M ввести с клавиатуры, а массивы A и B сформировать из случайных чисел в диапазоне от 0 до 100
поставить элемент на указанную позицию,файлы,cи C++
нужно написать программу на си которая ставит некоторую цифру на указнную позицию проблема как прописать код так чтобы цифра не заменяла то что стоит на укзанной позиции а смещала то что стоит на этой позиции пыталась создать временный файл и еще дополнительный массивчик не получается ничего
C++ Телефонный справочник C (без классов) http://www.cyberforum.ru/cpp-beginners/thread527198.html
Написать информационную систему "Телефонный справочник" со следующими требованиями: - динамическое изменение размеров массива для хранения информации; - автоматическая загрузка данных из файла в программу при старте программы; - автоматическая выгрузка данных из программы в файл при завершении программы; - добавление, изменение и удаление информации об абоненте; - поиск абонента по номеру...
C++ Проблемка с указателями Нужно перегрузить "+" чтобы он делал слияние 2ух массивов(элементы не повторялись) вот код: #include <iostream.h> #include <stdio.h> class mas {int n,*a; public: mas(); ~mas(); подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.03.2012, 08:05     Работа с элементами над/под побочной диагональю
Цитата Сообщение от Raikerian Посмотреть сообщение
про совмещение немножко поподробней и с примером?
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
        setlocale(LC_ALL, "");
        srand(time(NULL));
        int size;
        cout << "Введите размер квадратной матрицы: ";
        cin >> size;
        double **A = new double *[size];
        cout << "\nИсходная матрица:" << endl;
        double S1 = 0,
                   S2 = 0,
                   // кол-во элементов по одну из сторон побочной диагонали
                   S_num = 0;
        // Находим S1, S2 и кол-во эл-тов
        int i, j;
        for (i=0; i<size; ++i)
        {
                *(A+i) = new double [size];
                for (j=0; j<size; ++j)
                {
                        *(*(A+i)+j) = double (rand()%901+100)/100;
                        cout << *(*(A+i)+j) << "\t";
                        if (i+j<size-1) 
                        {
                                S1 += *(*(A+i)+j);
                                S_num++;
                        }
                        if (i+j>size-1) S2 += *(*(A+i)+j);
                }
                cout << endl;
        }
        cout << "\nS1 = " << S1 << endl
                 << "S2 = " << S2 << endl;
        double S = 0;
        if (S1 < S2) S = S2-S1;
        else S = S1-S2;
        // Находим число, на которое требуется увеличить эл-ты
        S /= S_num;
        cout << "\nПолученная матрица:" << endl;
        // Преобразуем и выводим матрицу на экран
        for (i=0; i<size; ++i)
        {
                for (j=0; j<size; ++j)
                {
                        if (S1<S2) 
                        {
                                if (i+j<size-1) *(*(A+i)+j) += S;
                        }
                        else
                                if (i+j>size-1) *(*(A+i)+j) += S;
                        cout << *(*(A+i)+j) << "\t";
                }
                cout << endl;
        }
        cout << "\nКаждый из элементов";
        if (S1 < S2) cout << " выше ";
        else cout << " ниже ";
        cout << "побочной диагонали увеличен на " << S << endl
                 << "Поздравляем! Теперь суммы элементов выше и ниже побочной диагонали равны."
                 << endl;
        for (i=0; i<size; ++i)
                delete [] A[i];
        delete [] A;
        cin.sync();
        cin.get();
        return 0;
}
 
Текущее время: 23:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru