Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / c++,двумерный массив ..help! / 4 сообщений из 4, страница 1 из 1
01.05.2006, 11:34
    #33700135
ingrida
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c++,двумерный массив ..help!
привет.помогите немного.Дан массив A(n x m).Вычислить массив B(n x m) Если
B(ij)=A(ij)/(A(ij)-1)
програма работает, но
КАК ЗДЕСБ ПРОВЕРИТЬ-ЕСЛИ В ТЕКСТ.ФАИЛЕ БУДЕТ ( 1 )''(потому что резултат тогда =0)".. ЕСЛИ 1 ,НАПИСАТЬ В StringGrid2 ( В Cells-"NO"); И СЧИТАТЬ ДАЛЬШЕ..???????????????



Код: plaintext
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.
#include <vcl.h>
#pragma hdrstop
#include "inga_prog_5.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
Memo1->Clear();
n = m =  0 ;
Get();
Memo1->Lines->Add(";;;;;;;;;; " + AnsiString(CDuom));
Show1();
ofstream fr(CRez);
fr << ";;;;;;;;;;;;" << endl;
for (int i =  0 ; i < n; i++)
{
for (int j =  0 ; j < m; j++)
fr << setw( 4 ) << A[i][j] << " ";
fr << endl;
}
fr << endl;
fr.close();
Memo1->Lines->Add(";;;;;;;;;;;;;;; " + AnsiString(CRez)); }
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 ifstream fd(CDuom);    fd >> n >> m;
         int i,j;
   for (i =  0 ; i < n; i++)
    for (j =  0 ; j < m; j++)      //  КАК ЗДЕСБ ПРОВЕРИТЬ-ЕСЛИ 
                                    //     В ТЕКСТ.ФАИЛЕ БУДЕТ    ( 1  )                                                                                                         
                              //  НАПИСАТЬ В StringGrid2( В Cells-"NO");   
                              //     И СЧИТАТЬ  ДАЛЬШЕ
                                
      {
      fd >> A[i][j];
      B[i][j]=(A[i][j]/(A[i][j]- 1 . 0 ));
      }
Label2->Visible = True;
StringGrid2->Visible = True;
Show2();
Memo1->Lines->Add(";;;;;;;;;;;");
Button1->Enabled = false;
Button2->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 ofstream fr(CRez, ios::app);
fr << ";;;;;;;;" << endl;
for (int i =  0 ; i < n; i++)
{
for (int j =  0 ; j < m; j++)
fr << setw( 4 ) << B[i][j] << " ";
fr << endl;
}
fr << endl;
fr.close();
Button2->Enabled = false;
Memo1->Lines->Add(";;;;;;;;;;;;; " + AnsiString(CRez));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void TForm1::GET()
{
int i, j;
ifstream fd(CDuom);
if (!fd.fail())
{
fd >> n >> m;
for (i =  0 ; i < n; i++)
for (j =  0 ; j < m; j++)
fd >> A[i][j];
fd.close();
}
else
{
ShowMessage(";;;;;;;; " + String(CDuom) + " ;;;;;;;;;;");
Close();
}
}
//---------------------------------
void TForm1::Show1()
{
  int i, j;
  StringGrid1->ColCount = m+ 1 ;
  StringGrid1->RowCount = n+ 1 ;
  for (j =  0 ; j < m; j++)
  StringGrid1->Cells[j+ 1 ][ 0 ] = ";;;. " + IntToStr(j);
  for (i =  0 ; i < n; i++) //
   StringGrid1->Cells[ 0 ][i+ 1 ] = ";;;. " + IntToStr(i);
   for (i =  0 ; i < n; i++)
 for (j =  0 ; j < m; j++)
  StringGrid1->Cells[j+ 1 ][i+ 1 ] = IntToStr(A[i][j]);   }
//------------------------------
  void TForm1::Show2()
 {
    int i, j;
    StringGrid2->ColCount = m+ 1 ;
    StringGrid2->RowCount = n+ 1 ;
   for (j =  0 ; j < m; j++) //
  StringGrid2->Cells[j+ 1 ][ 0 ] = ";;;;;;;. " + IntToStr(j);
  for (i =  0 ; i < n; i++)
   StringGrid2->Cells[ 0 ][i+ 1 ] = ";;;;;. " + IntToStr(i);
  for (i =  0 ; i < n; i++)
  for (j =  0 ; j < m; j++)
  StringGrid2->Cells[j+ 1 ][i+ 1 ] =FloatToStrF(B[i][j],ffFixed, 6 , 2 );
}
...
Рейтинг: 0 / 0
05.05.2006, 13:13
    #33709987
ingrida
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c++,двумерный массив ..help!
end...http://www.sql.ru/forum/images/smoke.gif
http://www.sql.ru/forum/images/smoke.gif
...
Рейтинг: 0 / 0
05.05.2006, 13:39
    #33710114
Dmitrii K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c++,двумерный массив ..help!
Поскольку заполнение Грида реализовано в Show2(), то лучше "NO" вставлять в грид именно там.
А в указанном вами месте кода лучше присвоить элементу массива B уникальное значение, которое потом можно будет проверить при заполнении StringGrid2.
...
Рейтинг: 0 / 0
06.05.2006, 17:06
    #33713708
ingrida
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c++,двумерный массив ..help!
спасибо.. сделала..
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / c++,двумерный массив ..help! / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]