Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программа, которая зануляет элементы выше и ниже главной и побочной диагонали - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка operator new http://www.cyberforum.ru/cpp-beginners/thread991510.html
Столькнулся с такой проблемой: Есть класс Array, в его конструкторе создается массив int Array::Array(const size_t size):_size(size) { printf("Array::Array(const size_t size)\n"); if...
C++ Вычисление значения функции на отрезке Составить программу для вычисления значений функции F(x) на отрезке с шагом h.Результат представить в виде таблицы, первый столбец который - значения аргумента,второй - соответствующие значения... http://www.cyberforum.ru/cpp-beginners/thread991492.html
C++ Перероботать прогу
Нужно перероботать прогу под функцию 0,5 х в кубе #include "stdafx.h" #include "iostream" #include <cmath> using namespace std; //_____________________________________________________ ...
Рекурсивная программа C++
Напишите рекурсивную программу для сортировки массива методом "пузырька". Как сделать из простого кода пузырька рекурсивную программу? Как понимаю нужно запихать ее в какую-то функцию, но явно не...
C++ Определение цифры http://www.cyberforum.ru/cpp-beginners/thread991472.html
Для натурального числа N, вводимого с клавиатуры, определите третью справа его цифру, и замените её на 8 Может мне кто-нибудь объяснить, что нужно сделать?
C++ Совет по проекту Здравствуйте. Столкнулся с такой ситуацией. Скачал готовый проект С++(небольшая задачка с матрицей), но при открытии проекта через visual studio 2008 express edition нет кода программы. Сам код... подробнее

Показать сообщение отдельно
Heidel
111 / 111 / 7
Регистрация: 11.10.2011
Сообщений: 647
29.10.2013, 16:56
Код для Microsoft Visual C++ 2010 Express

Код заголовочного файла stdafx.h

C#
1
2
3
4
5
6
7
#pragma once
 
#include "targetver.h"
 
#include <stdio.h>
#include <tchar.h>
#include <iostream>
Код программы
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
#include "stdafx.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    int n;
    cout << "Введите n = ";
    cin >> n;
 
    int ** arr = new int*[n];
    for (int i = 0; i < n; ++i)
    {
        arr[i] = new int[n];
    }
 
    cout << "Исходный массив: " << endl;
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < n; ++j)
        {
            arr[i][j] = 1;
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;
    
    int temp1 = (n%2 == 0) ? n/2 - 1 : (int) n/2;
    int temp2 = (n%2 == 0) ? temp1 : temp1 - 1;
 
    int k = 1;
    for (int i = 0; i < n; ++i)
    {
        if (i < temp1)
        {
            for (int j = k; j < n - k; ++j)
            {
                arr[i][j] = 0;
            }
            k += 1;
        }
        else 
        {       
            if (i > temp2)
            {
                for (int j = k; j < n - k; ++j)
                {
                    arr[i][j] = 0;
                }
                k -= 1;
            }
        }
    
    }
 
    cout << "Преобразованный массив: " << endl;
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < n; ++j)
        {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;
    
    for (int i = 0; i < n; ++i)
    {
        delete [] arr[i];
    }
    delete [] arr;
 
    system("PAUSE");
    return 0;
}

Либо тоже самое с использованием функций

Заголовочный файл stdafx.h
C++
1
2
3
4
5
6
7
8
9
#pragma once
 
#include "targetver.h"
 
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <string>
#include <Windows.h>
Программа
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
79
80
81
82
83
84
85
86
87
88
89
90
#include "stdafx.h"
using namespace std;
void CreateArray (int **, int);
void ShowArray (int **, int, string);
void ChangeArray (int **, int);
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    int n;
    cout << "Введите n = ";
    cin >> n;
 
    int ** arr = new int*[n];
    for (int i = 0; i < n; ++i)
    {
        arr[i] = new int[n];
    }
 
    CreateArray (arr, n);
    ShowArray (arr, n, "Исходный массив: ");
    ChangeArray (arr, n);
    ShowArray (arr, n, "Преобразованный массив: ");
    
    for (int i = 0; i < n; ++i)
    {
        delete [] arr[i];
    }
    delete [] arr;
 
    system("PAUSE");
    return 0;
}
 
void CreateArray (int **arr, int n)
{
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < n; ++j)
        {
            arr[i][j] = 1;
        }
    }
}
 
void ShowArray (int **arr, int n, string title)
{
    cout << title << endl;
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < n; ++j)
        {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;
}
 
void ChangeArray (int **arr, int n)
{
    int temp1 = (n%2 == 0) ? n/2 - 1 : (int) n/2;
    int temp2 = (n%2 == 0) ? temp1 : temp1 - 1;
 
    int k = 1;
    for (int i = 0; i < n; ++i)
    {
        if (i < temp1)
        {
            for (int j = k; j < n - k; ++j)
            {
                arr[i][j] = 0;
            }
            k += 1;
        }
        else 
        {       
            if (i > temp2)
            {
                for (int j = k; j < n - k; ++j)
                {
                    arr[i][j] = 0;
                }
                k -= 1;
            }
        }
    
    }
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.