GRY-Online.pl --> Archiwum Forum

prośba do programistów <program dla kolegi> C++

08.12.2004
19:55
smile
[1]

szymaniak [ Konsul ]

prośba do programistów <program dla kolegi> C++

Dana jest macierz licz rzeczywistych o rozmiarze 10x10, zapisana w pliku dane.txt. Odczytać macierz z pliku, a nastęnie dla danej macierzy: obliczyć iloczyn dodatnich elementów w wierszu, w którym znajduje się najmniejszy dodatni element. Daną macierz, wyznaczony wiersz lub kolumnę oraz wyniki operacji zapisać do pliku wynik.txt wraz z odpowiednimi komentarzami.

To nie jest dla mnie ;] Trzeba mu to w C++. Jak dostanie 5 to macie piwo ;D
Z góry dzięki.

08.12.2004
20:00
[2]

szymaniak [ Konsul ]

Zapomniałem dodać macierz ;]

14 15 21 -14 58 -45 -68 98 51 65
17 11 -16 -43 -46 99 -62 -88 1 -1
33 34 94 -12 37 -2 -5 4 9 8
10 -10 20 -20 -30 30 50 -50 77 -9
88 -13 -95 83 86 23 -27 -44 -23 -6
-96 -28 71 73 22 -22 24 -24 6 12
-35 -33 26 28 46 13 3 53 -8 -11
62 35 18 -47 47 -69 60 -60 -61 16
27 19 82 -82 56 54 7 29 84 -84
-4 38 55 -55 -99 72 -3 -25 25 75

08.12.2004
22:29
[3]

szymaniak [ Konsul ]

UP

09.12.2004
22:08
[4]

szymaniak [ Konsul ]

^^UP^^


jest on naprawde potrzebny... a jego, jak i moja znajomość c++ jest hm. prawie zerowa

10.12.2004
00:14
[5]

aka [ Chor��y ]

Kompilowane pod Visualem

#include <iostream>
#include <fstream>
using namespace std;

int main() ‹
float tb[10][10];
float min_val[10];
memset(tb, 0, sizeof(tb));
memset(min_val, 0, sizeof(min_val));
ifstream plikIN("dane.txt");
int i,j;
for (i = 0; i < 10; ++i) ‹
for (j = 0; j < 10; ++j) ‹
plikIN >> tb[i][j];
//nie bylo jescze wart. dod.
if ((tb[i][j] > 0) && (min_val[i] == 0)) min_val[i] = tb[i][j];
//kolejna dodatnia mniejsza od min.
else if ((tb[i][j] > 0) && (tb[i][j] < min_val[i])) min_val[i] = tb[i][j];


plikIN.close();
int min_row = 0;
for (i = 1; i < 10; ++i) ‹
if (min_val[i] < min_val[min_row])
min_row = i;

float iloczyn = 1;
for (i = 0; i < 10; ++i) ‹
if (tb[min_row][i] > 0)
iloczyn *= tb[min_row][i];

ofstream plikOUT("wyniki.txt");
plikOUT << "Macierz wejsciowa:\n" << endl;
for (i = 0; i < 10; ++i) ‹
for (j = 0; j < 10; ++j) ‹
plikOUT << tb[i][j] << " ";

plikOUT << endl;

plikOUT << "\nWiersz z najmniejsza wartoscia dodatnia:\n"<< endl;
for (i = 0; i < 10; ++i) ‹
plikOUT << tb[min_row][i] << " ";

plikOUT << "\n\nIloczyn liczb dodatnich:\n\n" << iloczyn;
plikOUT.close();

14.12.2004
18:23
smile
[6]

szymaniak [ Konsul ]

aka ==> gdzie mieszkasz? :P Wieeeeeeeeeelkie dzięki.

© 2000-2024 GRY-OnLine S.A.