Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
#1

Комплексные задачи - C++ Builder

02.01.2009, 15:04. Просмотров 2109. Ответов 19
Метки нет (Все метки)

Поомогите мне пожалуйсто с задачками:
1. Размер массива 8. Тип данных - действ. Проверить, являеться ли массив упорядоченным по возрастанию, и выдать об этом сообщение.
2. Размер массива до 8ю Тип данных: действ. Ввести массив и числро С. Переставить чисола в масиве так, чтобы сначала были расположены все элементы меньше или равные сначению С, потом - Больше С, сохраняя порядок их расположения.
Полмогите пожалуйсто!!!!!!!!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2009, 15:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Комплексные задачи (C++ Builder):

комплексные числа
Здравствуйте уважаемые:) Подруга, учащаяся в математической кафедре, попросила...

Комплексные числа
народ нужна ваша помощь!! нужно код написать в C++ Builder само программа...

комплексные числа
здраствуйте!вот есть код в делфи по работе с комплексными числами нужно...

Как из Wav файла получить комплексные значения для быстрого преобразования Фурье?
Пишу программу для вывода спектра Wav файла Беру данные из Wav файла, прочел...

Отмена задачи, запуск задачи после отмены, перезапуск уже запущенной задачи
Добрый день. Сейчас разбираю TPL и у меня возник вопрос следующего содержания:...

Комплексные числа
При нахождении комплексных амплитуд выдаёт такую ошибку именно с фазой 0. Меняя...

19
Игорь[Igor]
02.01.2009, 15:58
  #2

Не по теме:

Я могу написать только на Pascal.

0
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
02.01.2009, 16:55  [ТС] #3
Цитата Сообщение от Игорь[Igor] Посмотреть сообщение
Я могу написать только на Pascal.
Ага. Ток потом препод мя припаскалет)))))) Но всё равно спасибо))))))
0
Otaka
1827 / 685 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
02.01.2009, 18:15 #4
Вот тебе твои задачки.

Задача 1.
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
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
 
int main(int argc, char* argv[])
{
double x[8]; //массив из 8_сьми действительных чисел
//вводим 8 чисел
for(int i=0;i<8;i++)
        {
        cout<<i+1<<" chislo ->";
        cin>>x[i];
        }
int flag=0;
for(int i=0;i<7;i++)
        {
        if(x[i]>x[i+1])
                {
                flag=1; //если элемент слева больше элемента справа, то не упорядочен
                break;
                }
        }
if(flag==1)
        {
        cout<<"Ne po poryadku";
        }else
        {
        cout<<"Massiv uporyadochen";
        }
getch();
}
И задача 2.

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
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
 
const N=8;
int main(int argc, char* argv[])
{
double x[N]; //массив из 8_сьми действительных чисел
double C;
 
//ШАГ 1. вводим 8 чисел
for(int i=0;i<N;i++)
        {
        cout<<i+1<<" chislo ->";
        cin>>x[i];
        }
 
//ШАГ 2. Вводим С
cout<<"Vvedite C ->";
cin>>C;
 
//ШАГ 3. Разделяем числа на те которые меньше С и которые больше С
double menshe[N]; //временные массивы
double bolshe[N];
int M_pos=0;int B_pos=0;
for(int i=0;i<N;i++)
        {
        if(x[i]<=C)
                {
                menshe[M_pos]=x[i];
                M_pos++;
                }else
                {
                bolshe[B_pos]=x[i];
                B_pos++;
                }
        }
 
//ШАГ 4. Кидаем числа в наш исходный массив
for(int i=0;i<M_pos;i++)x[i]=menshe[i];
for(int i=0;i<B_pos;i++)x[i+M_pos]=bolshe[i];
 
//ШАГ 5. Выводим этот массив на экран.
for(int i=0;i<N;i++)cout<<x[i]<<" ";
getch();
}
0
Otaka
1827 / 685 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
02.01.2009, 18:52 #5
Хотя я вот так написал, неглядя на раздел, и хотя написал в Билдере, но консольное приложение. Мож тебе надо было приложение с окошками, полями ввода...?
0
Вложения
Тип файла: rar lyunya.rar (4.1 Кб, 39 просмотров)
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
02.01.2009, 18:56  [ТС] #6
Цитата Сообщение от Otaka Посмотреть сообщение
Хотя я вот так написал, неглядя на раздел, и хотя написал в Билдере, но консольное приложение. Мож тебе надо было приложение с окошками, полями ввода...?
ну да. мне нужно было с окошками там с эдитами и мемо..... а вот тот файл, что ты прикрепил, не открываеться у меня....(((((((((
я вот не очень поняла... а в какой проге ты мне помог?
0
Otaka
1827 / 685 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
02.01.2009, 19:05 #7
В архиве проект написаный на Билдере 6. Там в одной проге сразу два задания и с edit_ами и strGrid_ами.
А файл не открывается как, архив не распаковывается, Билдер не может открыть проект, файл не скачивается?
0
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
02.01.2009, 22:15  [ТС] #8
Цитата Сообщение от Otaka Посмотреть сообщение
В архиве проект написаный на Билдере 6. Там в одной проге сразу два задания и с edit_ами и strGrid_ами.
А файл не открывается как, архив не распаковывается, Билдер не может открыть проект, файл не скачивается?
я на файл нажимаю, а он вобще без реакции. а что значит "в одной проге сразу два задания"? мне просто нужно отдельно. а можешь просто текст програмки переслать? с формой я работать то умею. а с текстом будет легче разобраться
0
Otaka
1827 / 685 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
02.01.2009, 22:27 #9
Тут на файле надо нажимать правой кнопкой мыши и "сохранить как".
А вот и текст(по сути тоже, что я писал в начале темы):
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
void __fastcall TForm1::StringGrid1KeyPress(TObject *Sender, char &Key)
{
if((Key!=VK_BACK)&&(!(Key>='0' && Key<='9'))&&(Key!='.')&&(Key!=','))Key=0;        
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double x[8];
for(int i=0;i<8;i++)
        {
        x[i]=StrToFloat(StringGrid1->Cells[0][i]);
        }
int flag=0;
for(int i=0;i<7;i++)
        {
        if(x[i]>x[i+1])
                {
                flag=1; //если элемент слева больше элемента справа, то не упорядочен
                break;
                }
        }
if(flag==1)
        {
        Label2->Caption="Массив  не упорядочен";
        }else
        {
        Label2->Caption="Массив упорядочен";
        }
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
double x[8]; //массив из 8_сьми действительных чисел
double C;
 
//ШАГ 1. вводим 8 чисел
for(int i=0;i<8;i++)
        {
        x[i]=StrToFloat(StringGrid1->Cells[0][i]);
        }
 
//ШАГ 2. Вводим С
C=StrToFloat(Edit1->Text);
 
//ШАГ 3. Разделяем числа на те которые меньше С и которые больше С
double menshe[8]; //временные массивы
double bolshe[8];
int M_pos=0;int B_pos=0;
for(int i=0;i<8;i++)
        {
        if(x[i]<=C)
                {
                menshe[M_pos]=x[i];
                M_pos++;
                }else
                {
                bolshe[B_pos]=x[i];
                B_pos++;
                }
        }
 
//ШАГ 4. Кидаем числа в наш исходный массив
for(int i=0;i<M_pos;i++)x[i]=menshe[i];
for(int i=0;i<B_pos;i++)x[i+M_pos]=bolshe[i];
 
//ШАГ 5. Выводим этот массив на экран.
for(int i=0;i<8;i++)
        {
        StringGrid1->Cells[0][i]=FloatToStr(x[i]);
        }
 
}
//---------------------------------------------------------------------------
0
Миниатюры
Комплексные задачи  
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
03.01.2009, 14:25  [ТС] #10
[quote=Otaka;89106]Тут на файле надо нажимать правой кнопкой мыши и "сохранить как".
А вот и текст(по сути тоже, что я писал в начале темы):
C++
1
2
3
void __fastcall TForm1::StringGrid1KeyPress(TObject *Sender, char &Key)
{
if((Key!=VK_BACK)&&(!(Key>='0' && Key<='9'))&&(Key!='.')&&(Key!=','))Key=0;

а что такое строка с Key! делает? что это?
0
Otaka
1827 / 685 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
03.01.2009, 14:28 #11
А это мы прописываем в событии KeyPress у StringGrida, для того, чтобы нельзя было вводить ничего кроме чисел и разделителя. Если в Key будет буква, то мы присваиваем 0, и этот символ не будет занесен в таблицу.
0
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
04.01.2009, 14:42  [ТС] #12
Otaka,
а что значит компонент Label2? окуда он взялся? мы через него выводим сообщение? и flag это мы обозначаем элемент?
и во вторй задаче что такое M_pos и B_pos?
0
Otaka
1827 / 685 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
04.01.2009, 14:50 #13
На Label2 - выведется сообщение о упрядоченности массива. flag - переменная которая содержит в себе признак упорядоченности массива.

А во второй задаче я так сделал...(мож не очень красиво). Через временные массивы, и M_pos - колличество элементов меньше С, а В_pos - больше С.
1
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
04.01.2009, 15:01  [ТС] #14
Otaka, окей, это поняла. ток вот ещё вопросик к 1-ой задачке. мы выдавали сообщение через команду ShowMessage. у меня через лейбол не получаеться: выдаёт , что не понимает этого компонента, хоть он и присуцтвует на форме.
а через ShowMessage я точно не знаю, как записать. точнее прога запускаеться но не выводит сообщение. что посоветуешь?
0
Otaka
1827 / 685 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
04.01.2009, 16:29 #15
Может быть пишет что не найде лейбл, потому-что в тексте написано Label2, а у тебя на форме только Label1, либо поставь еще один, лейбл, либо смени у существующего имя.
Через окошко с сообщением нужно писать так:
Код
ShowMessage("Массив упорядочен");
0
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
08.01.2009, 15:47  [ТС] #16
Цитата Сообщение от Otaka Посмотреть сообщение
Может быть пишет что не найде лейбл, потому-что в тексте написано Label2, а у тебя на форме только Label1, либо поставь еще один, лейбл, либо смени у существующего имя.
Через окошко с сообщением нужно писать так:
Код
ShowMessage("Массив упорядочен");
Спасибо. Я нашла ошибку. Но она не в лейбеле была. я просто в таблице напутала... Спасибо за помощь
0
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
07.02.2009, 13:21  [ТС] #17
Привет. это опять я) можешь помочь с ещё одной задачей? её нужно сделать с помощью оператора for (желательно) и элементы записать в StringGrid.
вот условие:
поменять местами элементы первой строки матрицы вещественных чисел размерностью 4на4 и элементы её главной диагонали.

На сегодня-завтра сможешь?
0
Otaka
1827 / 685 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
07.02.2009, 14:01 #18
Ведь задание настолько простое. И сама бы могла сделать.
Держи, Люня, готовую программу.
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
void __fastcall TForm1::FormCreate(TObject *Sender)
{
randomize();
for(int j=0;j<4;j++)
        for(int i=0;i<4;i++)StringGrid1->Cells[i][j]="0,000";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(int j=0;j<4;j++)
        for(int i=0;i<4;i++)
                {
                float r=random(1000)/1000.0+random(1000);
                StringGrid1->Cells[i][j]=FloatToStr(r);
                }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
for(int i=0;i<4;i++)
        {
        String t=StringGrid1->Cells[0][i];
        StringGrid1->Cells[0][i]=StringGrid1->Cells[i][i];
        StringGrid1->Cells[i][i]=t;
        }
}
В прикрепленном архиве исходник лабы.
0
Вложения
Тип файла: rar Liuniya.rar (3.3 Кб, 16 просмотров)
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
08.02.2009, 00:07  [ТС] #19
это так, но я не чень то разбираюсь с этими opflfxfvb/ я их начинаю раздуплять только, когда проходит сессия(((((
0
Люня
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 29
26.02.2009, 22:59  [ТС] #20
Otaka, можешь опять помочь мне??? С++ выбивает ошибку в строке double sum; (пишет, мол нельзя чистое место считать) в этой програмке:
УСЛОВИЕ: ввести в мемо некоторое количество чисел. занести в массив отрительные числа из мемо, точное колич элементов мссива должно вычислятся в отдельной функции. заполнение массива з мемо должно выполнятся в отдельной функции с параметрами: массив и колич элементов.
вычислить с помощью функции сумму элементов массива (задча из темы про указатели и динамическую память)
ТЕКСТ ПРОГИ:
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
int kol()
{
int i, k=0;
for (i=0; i<Form1->Memo1->Lines->Count; i++)
if (StrToFloat(Form1->Memo1->Lines->Strings[i])<0)
  {
  k++;
  }
return k;
}
 
void zapoln(double a[], int k)
{
int g=0, i;
for (i=0; i<Form1->Memo1->Lines->Count; i++)
if (StrToFloat(Form1->Memo1->Lines->Strings[i])<0)
   {
   a[g]=StrToFloat(Form1->Memo1->Lines->Strings[i]);
   g++;
   }
}
 
double fsum(double a[], int k)
{
double sum=0;
int i;
for (i=0; i<k; i++)
  {
  sum+=a[i];
  }
return sum;
}
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int k, i;
double sum;
k=kol();
double *a= new double [k];  // обьявила динамический массив (выделила под него память)
zapoln(a, k);
sum= fsum(a, k);
for (i=0; i<k; i++)
  {
  Memo2->Lines->Add(FormatFloat("0.000", a[i]));
  }
Edit1->Text= FormatFloat("0.000", sum);
delete []a;
}
 
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::o4istkaClick(TObject *Sender)
{
Memo1->Clear();
Memo2->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::vixodClick(TObject *Sender)
{
Close();
}

прога запускается, но не считает...
0
26.02.2009, 22:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2009, 22:59
Привет! Вот еще темы с решениями:

Комплексные числа
Дано комплексное число Z=-4/(1+i sqrt(3)) Записать его в алгебраическом и в...

Комплексные числа
Помогите пожалуйста не понимаю как решить!

комплексные числа
Какие операции над комплексными числами в тригонометрической и показательной...

Комплексные числа
Помоги пожалуйста решить вот это задание))): Дано комплексное число z....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru