Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 49
1

Упорядочить столбцы матрицы по возрастанию их характеристик.

16.10.2011, 22:52. Просмотров 1087. Ответов 11
Метки нет (Все метки)

Характеристикой столбца матрицы назовем произведение положительных элементов с четными номерами строк. Упорядочить столбцы матрицы по возрастанию их характеристик.
Помогите найти ошибки:

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 <vcl.h>
#pragma hdrstop
 #include <time.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int i, j;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
StringGrid1->RowCount=StrToInt(Edit1->Text);
StringGrid1->ColCount=StrToInt(Edit2->Text);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
time_t x;
srand((unsigned) time (&x));
for(int i=0; i<StringGrid1->RowCount; i++)
for(int j=0; j<StringGrid1->ColCount; j++)
StringGrid1->Cells[j][i]=rand()%30;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int har=1;
int min;
int n_min;
    for(int j=0; j<StringGrid1->ColCount; j++)
      {
        har=1;
        for(int i=0; i<StringGrid1->RowCount; i++)
          if(StrToInt(StringGrid1->Cells[i][j])>0 && i%2==0)
            har*=StrToInt(StringGrid1->Cells[j][i]);
            int* b=new int [har];
       for(int i=1; i<j-1; i++)
        {
         int min=b[i];
         int n_min=i;
               for(int k=i+1; k<i; k++)
        {
         if(b[i]<min)
         {
          min=b[k];
          n_min=k;
         }
       b[n_min]=b[i];
       b[i]=min;
       for(int f=0; f<StringGrid1->ColCount; f++)
             {
               int *c= new int[IntToStr(StringGrid1->Cells[n_min][f]]);
               StringGrid1->Cells[n_min][f]= StringGrid1->Cells[i][f];
               StringGrid1->Cells[i][f]=c[f];
         }
     }
      }
 
}
//------------------------------------------------------------------------------------------------------
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2011, 22:52
Ответы с готовыми решениями:

Упорядочить столбцы матрицы по возрастанию сумм их элементов
Дана вещественная матрица размера n x m. Упорядочить столбцы матрицы по возрастанию сумм их...

Упорядочить столбцы матрицы по возрастанию их характеристик
Характеристикой столбца матрицы назовем произведение положительных элементов с четными номерами...

Упорядочить столбцы матрицы по возрастанию их характеристик
Характеристикой столбца матрицы назовем произведение положительных элементов с четными номерами...

Упорядочить столбцы матрицы по возрастанию их характеристик
Характеристикой столбца матрицы назовем произведение положительных элементов с четными номерами...

11
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 49
20.10.2011, 14:48  [ТС] 2
Ну кто-нибудь, скажите, где я ошиблась....
0
Практикантроп
4652 / 2577 / 488
Регистрация: 23.09.2011
Сообщений: 5,525
20.10.2011, 18:40 3
Внимательней нужно! Вот эта строчка вообще никуда не годится:
C++
1
int *c= new int[IntToStr(StringGrid1->Cells[n_min][f]]);
во первых, массив целых чисел не стоит объявлять через new, достаточно int *c; функция IntToStr даже по внешнему виду - это преобразование целого в строку, а Вы эту строку в массив int загоняете.
наверное ошиблись... - StrToInt. Вот такую запись мне, например, нужно растолковать: int* b=new int [har]; возможно и компилятору она не нравится... .
1
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 49
20.10.2011, 22:37  [ТС] 4
Там скобки не правильно стоят. Это я исправила... Но почему-то он не выводит мне характеристику, и не уверена, что вообще ее считает.
0
Практикантроп
4652 / 2577 / 488
Регистрация: 23.09.2011
Сообщений: 5,525
21.10.2011, 13:59 5
Цитата Сообщение от Kisunya Посмотреть сообщение
почему-то он не выводит мне характеристику, и не уверена, что вообще ее считает.
Вот вариант, который упорядочивает столбцы. Проанализируйте обработчик нажатия на Button3.
1
Вложения
Тип файла: rar Project2.rar (190.5 Кб, 26 просмотров)
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 49
21.10.2011, 17:23  [ТС] 6
Спасибо!!! У меня вопрос, мне выдает ошибку[C++ Error] E2075 Incorrect project override option: \ПрОгРаМмИрОвАнИе\ООП\Project2\Project1.obj. Что надо исправить?
0
LK
Заблокирован
21.10.2011, 17:29 7
для начала
1. пропишите путь ПрОгРаМмИрОвАнИе\ООП латиницей.
2. удалите Project1.obj
Естественно, перед этими манипуляциями хорошо бы сделать резервную копию проекта.
0
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 49
21.10.2011, 17:33  [ТС] 8
То есть папки переименовать?
0
Практикантроп
4652 / 2577 / 488
Регистрация: 23.09.2011
Сообщений: 5,525
21.10.2011, 17:37 9
Цитата Сообщение от Kisunya Посмотреть сообщение
То есть папки переименовать?
Да. Насколько я помню (сам не экспериментировал) Delphi и Builder не переваривают кириллицу в путях
0
LK
Заблокирован
21.10.2011, 17:48 10
Цитата Сообщение от nick42 Посмотреть сообщение
...Delphi и Builder не переваривают кириллицу в путях
как правило, не переваривают , иногда может подфартить

да, Kisunya, выглядит оно, конечно, гламурно:
ПрОгРаМмИрОвАнИе
, однако ... dura lex sed lex ...
0
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 49
21.10.2011, 18:12  [ТС] 11
Цитата Сообщение от LK Посмотреть сообщение
да, Kisunya, выглядит оно, конечно, гламурно:
Ну почти так выглядит!
А раньше работал и "не ругался"...

Добавлено через 7 минут
А почему с флешки запускает, а название папок тоже самое...?
0
Практикантроп
4652 / 2577 / 488
Регистрация: 23.09.2011
Сообщений: 5,525
21.10.2011, 18:18 12
Цитата Сообщение от Kisunya Посмотреть сообщение
А почему с флешки запускает, а название папок тоже самое...?
Ну, насчёт папок - это ж была версия. Может и не в этом беда, а старые файлы мешают. OBJ можно удалить беспрепятственно. Если он от прежней компиляции остался - то вот и причина.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2011, 18:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Упорядочить столбцы матрицы по неубыванию характеристик
Дана целочисленная матрица A(M,N). Характеристикой j –го столбца матрицы назовем значение...

Упорядочить столбцы матрицы по убыванию их характеристик
Характеристикой столбца назовем наибольшее количество идущих подряд отрицательных элементов....

Упорядочить столбцы матрицы по убыванию их характеристик.
Характеристикой столбца назовем наибольшее количество идущих подряд отрицательных...

Упорядочить столбцы матрицы по неубыванию характеристик. Динамическая память
Дана целочисленная матрица A(M,N). Характеристикой j –го столбца матрицы назовем значение элемента,...


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

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

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