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

Заполнение одного массива элементами другого - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В одномерном массиве, состоящем из N вещественных элементов, вычислить: http://www.cyberforum.ru/cpp-beginners/thread1000264.html
Помогите мальчишки, я искала, но ничего на форуме подобного не нашла В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) минимальный элемент массива; 2) сумму элементов массива, расположенных между первым и последним положительными элементами. Преобразовать массив таким образом, чтобы сначало располагались элементы равные 0,а потом все остальные Желательно чтобы...
C++ cin.getline пропуск ввода Стыдно 3 раз за сегодня обращаться по мелким проблемам, но увы, гугл не помогает. Сама проблема заключается вот в чем. В первом вводе, где просят ввести название машины, этот ввод в консоли пропускается, и консоль сразу переходит ко второму вводу, где просят ввести марку. Наверное я плохо объяснил, поэтому приложу скрин и код. struct NEWCAR { char nickname; char marka; char color;... http://www.cyberforum.ru/cpp-beginners/thread1000245.html
C++ Аппроксимация и СКО
Тут возникла проблемка, вот задание: "Сделать аппроксимацию(квадратичную), тобишь найти полином второй степени и найти среднеквадратичное отклонение" аппроксимирующий многочлен я нашёл, но вот среднеквадратичное отклонение не получается нужно сделать на Mathcad и на с++ на Маткаде сделано: ответ = 0.006393 такой же ответ должен получиться и на сишке а получается какое то большое число...
C++ Реализовать класс (родительский + наследник)
Родительский класс: "Уравнение", свойства: количество корней, динамический массив корней. Методы: читание корней. Класс-Наследник: "Линейное уравнение", свойства:коофичиенты А,В. Методы: нахождение корней. Класс_наследник: "Квадратное уравнение"б свойства: коофициенти A, B, C, дискриминант.Методы: нахождение дискриминанта и корней. Заранее Всем Спасибо!!
C++ Запись в файл .txt во время исполнения програмы http://www.cyberforum.ru/cpp-beginners/thread1000223.html
Есть цикл, когда он находит определенную строку, то он должен записать ее в файл. Если найдет еще подходящую строку, то должен снова записать в тот же файл, не удалив предыдущую запись. Подскажите пожалуйста. for (la-la-la) //look for DNA sequence ori_C { if (i_Repeat >= 3) { ofstream f_out("d:\\DNA1.txt"); if (!f_out) { cout<<"Файл DNA1 невозможно открыть";...
C++ Составить и отладить программу вычисления заданной в таблице функции y(x) Составить и отладить программу вычисления заданной в таблице функции y(x) для каждого из заданных значений параметра a и при всех заданных значениях аргумента x. подробнее

Показать сообщение отдельно
Tortik_Koyot
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 4
07.11.2013, 01:59     Заполнение одного массива элементами другого
Доброго времени суток, форумчане.

Я и программирование - токо недавно вместе, месяц, кароч цветочно-конфетный период) - сами знаете, что из этого выплывает...
с++ билдер.
Написал такой вот алгоритм:
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
#include <vcl.h>
#pragma hdrstop
#include <stdlib.h>
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
int mas1[2][49]={{0,2,4,6,8,10,12,0,2,4,6,8,10,12,0,2,4,6,8,10,12,0,2,4,6,8,10,12,0,2,4,6,8,10,12,0,2,4,6,8,10,12,0,2,4,6,8,10,12},
{0,0,0,0,0,0,0,2,2,2,2,2,2,2,4,4,4,4,4,4,4,6,6,6,6,6,6,6,8,8,8,8,8,8,8,10,10,10,10,10,10,10,12,12,12,12,12,12,12}};
 
 
int x1,y1,i,x2,y2=0;
int mascentre[2][5];  //массив изначально заполненный вручную
int maspospoint[2][4]; // массив, который заполняется во "внутреннем" цикле while
int masrandpoint[2][25]; // массив, который должен заполниться значениями массива maspospoint при выпронении "внешнего" цикла for
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
     
        mascentre[0][0]=8;
        mascentre[1][0]=8;
        mascentre[0][1]=4;
        mascentre[1][1]=4;
        mascentre[0][2]=6;
        mascentre[1][2]=6;
        mascentre[0][3]=10;
        mascentre[1][3]=10;
        mascentre[0][4]=10;
        mascentre[1][4]=8; // эт все я вручную заполнил, экспериментировал.
 
  
        for(int j=0; j<5;j++) // "внешний"
        {
 
                while(1) // "внутренний"
 
                {
                        x1=mas1[0][i];
                        y1=mas1[1][i];
                        
                        i++;
                        if (x1==12 && y1==12) break;
 
                        if(x1==mascentre[0][j] && y1==mascentre[1][j]-2)
                                {
                                x2=x1;y2=y1;
                                maspospoint[0][0] =  x2;
                                maspospoint[1][0] =  y2;
 
                                x2=0; y2=0;
                                }
                        if((x1==mascentre[0][j]-2) && y1==mascentre[1][j])
                                {
                                x2=x1;y2=y1;
                                maspospoint[0][1] =  x2;
                                maspospoint[1][1] =  y2;
 
                                x2=0; y2=0;
                                }
                        if((x1==mascentre[0][j]+2) && y1==(mascentre[1][j]))
                                {
                                x2=x1;y2=y1;
                                maspospoint[0][2] =  x2;
                                maspospoint[1][2] =  y2;
 
                                x2=0; y2=0;
                                }
                        if((x1==mascentre[0][j]) && y1==(mascentre[1][j]+2))
                                {
                                x2=x1;y2=y1;
                                maspospoint[0][3] =  x2;
                                maspospoint[1][3] =  y2;
 
                                x2=0; y2=0;
                                }
 
                        }
 i=0;
//на этом месте мы имеем полностью заполненный массив maspospoint, далее мы его значения должны поместить в массив masrandpoint. С каждым шагом цикла for значения maspospoint меняются и мы их должны поместить уже дальше в массиве masrandpoint. Я 
                       
                        for(int a=0; a<4; a++)
                        {
                        masrandpoint[0][(j*4)+a]= maspospoint[0][a];
                        masrandpoint[1][(j*4)+a]= maspospoint[1][a];
 
 
                        }
                        j++;
                        }
                        }
Добавлено через 25 минут
Продолжение
Но проблема в том, что masrandpoint заполняется только при j=0,2,4 а при нечетных j=1,3 - не хочет.

Получается такой массив:
C++
1
int masrandpoint[2][25]={{8,6,10,8,0,0,0,0,6,4,8,6,0,0,0,0,10,8,12,10,0,0,0,0},{6,8,8,10,0,0,0,0,4,6,6,8,0,0,0,0,6,8,8,10,0,0,0,0}}
Может ошибка детская)) но все же, что я не учел в последнем цикле?
Нид хелп!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru