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

Как всегда у новичков недоразумения с массивами:) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ C++ >> UML http://www.cyberforum.ru/cpp-beginners/thread74953.html
Кто может перевести из С++ в UML. Знаю, что есть такие программы как umbrello и т.д. , но они или платные или для линкса. Кто поможет, буду очень благодарен! Заранее спасибо Вот из этого:
C++ Задача о рюкзаке Доброго вечера! Даны n типов предметов, каждый тип обладает своей стоимостью и весом, а также предел грузоподъемности limit. Нужно набрать максимум стоимости и не превысить грузоподъемность. За состояние на каждом шаге принимаем уже израсходованный ресурс. На n-ом можем взять столько предметов n-ого типа, сколько захотим, лишь бы только не превысить грузоподъемность. На первом это количество... http://www.cyberforum.ru/cpp-beginners/thread74933.html
Программа читает свой текст и обрабатывает его по заданному в варианте условию C++
написать программу, которая читает свой текст и обрабатывает его по заданному в варианте условию. Результаты обработки записать в фаил output.txt Условие: посчитать кол-во переменных типа int
Машина Тьюринга, определение вхождения подстроки в строку C++
приветствую. собственно, задание по мт. вопрос не по части решения теоретического, а именно по реализации на c++. на вход мт поступает строка, состоящая из символов a, b или c. построить мт, которая определяет вхождение подстроки 'abc' в исходную задаваемую строку. по окончании работы мт на ленте должна быть записана исходная строка и после * слова 'YES' или 'NO' (в зависимости от того,...
C++ Контрольная работа(( проверь свои знания):D http://www.cyberforum.ru/cpp-beginners/thread74904.html
помогите пожалуйста сделать контрольную работу, мне нада сделать её хорошо или незачёт((( очень прошу... я в классах ниочём( Задача 1. Разработать класс для представления несократимой дроби, задаваемой двумя полями целого типа (числитель и знаменатель). Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций (в том числе + и =), другие необходимые методы....
C++ Полный дек Добрый день! мучаюсь с задачей - реализовать тип и функции (инициализация,добавление\извлечение элементов с обеих сторон,проверка на пустоту) для реализации полного дека в связной памяти на чистом Си. единственное, что удалось узнать у преподавателя это то,что полный дек нужно создавать на основе двусвязного списка. Подскажите пожалуйста материалы и примеры на эту тему. хочется разобраться а... подробнее

Показать сообщение отдельно
ForestG
 Аватар для ForestG
32 / 32 / 3
Регистрация: 21.11.2009
Сообщений: 201
16.12.2009, 19:38  [ТС]     Как всегда у новичков недоразумения с массивами:)
Задние было такое создать массив M x M. Найти максимальные элементы главной и побочной диагонали и поменять их местами

Решение:

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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#include<iostream>   //для работы cin, cout
#include<conio.h>   //для работы getch()
#include<stdlib.h> //для случайных чисел
#include<time.h>  //для времени
 
using namespace std;
 
int main()
{setlocale( LC_ALL,"Russian" );//Русский язык в консоли
int i,j;
int m;
int *ukazatel;
int *dop_Glav_ukaz;
int *dop_Pobch_ukaz;
 
cout<<"Двумерный массив M x M!\n Введите размер массива:";
cin>>m;
 
if(m<2)
{
    cout<<"(:Введите что-нибудь побольше:)";
 
_getch();
return 0;
}
cout<<"\n";
 
//2-х мерный массив
ukazatel=new int[m*m];
//дополнительные массивы
dop_Glav_ukaz=new int[m*m];
dop_Pobch_ukaz=new int[m*m];
 
 
srand((unsigned)time(NULL));
 
int R_MIN = 0;
int R_MAX = 101;
 
 
cout<<"*******<< Исходный массив >>*******\n";
 
//переменные max
int max_GlavD = *dop_Glav_ukaz;
int max_PobD = *dop_Pobch_ukaz;
 
//индексы max
int imaxG, imaxP;
 
for( i = 0; i < m; i++)
{
    cout<<"\n";
 
    for( j = 0; j < m; j++)
    {
        ukazatel[i*m+j]=(((double)rand()/RAND_MAX) * R_MAX + R_MIN);
 
 
        cout<<"["<<i<<","<<j<<"] = "<<ukazatel[i*m+j]<<";"<<" ";
        
 
        if(i == j)
 
        {            
            dop_Glav_ukaz[i*m+j]=ukazatel[i*m+j];
        }
 
        if(i == m-1-j)
 
        {
            dop_Pobch_ukaz[i*m+j]=ukazatel[i*m+j];
        }
 
        
        if(max_GlavD < dop_Glav_ukaz[i*m+j])
 
        {
            max_GlavD = dop_Glav_ukaz[i*m+j];
 
                        
            imaxG=i*m+j;
        
        }
 
        if(max_PobD < dop_Pobch_ukaz[i*m+j])
 
        {
            max_PobD = dop_Pobch_ukaz[i*m+j];
 
                        
                    imaxP=i*m+j;
        }
    }
 
}
    
    cout<<"\n\nМаксимальное число в Главной диагонали = "<<max_GlavD;
 
    cout<<"\n\nМаксимальное число в Побочной диагонали = "<<max_PobD;
 
 
////////////////////Так поехали:)//////////////////////////
 
    cout<<"\n\n*******<< Передвинутый массив >>******\n";
        
                //обмен
 
            ukazatel[imaxG] = dop_Pobch_ukaz[imaxP];
    
            ukazatel[imaxP] = dop_Glav_ukaz[imaxG];
 
for(i = 0; i < m; i++)
{
    cout<<"\n";
        
    for(j = 0; j < m; j++)
    {    
        cout<<"["<<i<<","<<j<<"] = "<<ukazatel[i*m+j]<<";"<<" ";
    }
}
 
cout<<"\n";
 
_getch();
return 0;
}
 
Текущее время: 02:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru