» »

problem v c++ kako prebrati matriko?

problem v c++ kako prebrati matriko?

robinzon ::

Moj problem je sledec. za solo moram nardit en program v c++, ki matriko transponira in sešteje elemente matrike.
Vse našteto vem nardit, problem je v tem, da bi moral program matriko prebrat iz datoteke in transponirano zapisat v drugo datoteko.

Nevem kako naj matriko pravilno preberem iz datoteke in jo shranim v 2D tabelo, ker mi mece ven neke cudne cifre. Matriko sem bral in polnil v tabelo na ta nacin (seveda v zanki):

int znak = getc(fp1);
matrika[m][j]=znak;

in dobim ven neke cudne cifre, nevem a so to binarne al kaj je to zaboga.

prosim za pomoc.:\

Gandalfar ::

stran na www.juicystudio.com


ce ti bo kaj pomagalo..

user4683 ::

odpri v binarnem načinu, mogoče kaj pomaga. Pa ne pozabi, da ne boš tlačil /n znaka (ali katerega od njih) v tabelo.

OwcA ::

Kaj ko bi pokazal vhodno datoteko?
Drugače ali spremeniš char v int?
Otroška radovednost - gonilo napredka.

mile ::

TAB delimited text files rulz , osebno najboljša varjanta, pa še excel in podobni znajo to urejat

robinzon ::

Matrika v vhodni datoteki zgleda npr. tako:

2 6 5
3 8 6
1 5 0

Shranil pa bi jo rad v to:
int matrika[m][m]; //vhodne matrike bodo vedno reda m x m.

Imortales ::

Probaj tak:

ifstream f("matrika.txt", ios::in);
for (int i = 0; i < m; i++)
    for (int j = 0; j < m; j++)
      f >> M[i][j];

Samo n moraš prej poznat.
To sporočilo se bo samo uničilo čez 5 sekund.

robinzon ::

Sem probal, pa mi kompajler zajamra napako za ta ifstream. (Uporabljam Dev-C++)

Se kaksna druga ideja?

OwcA ::

Si dodal header fstream (brez končnice) in uporabil imenski prostor std?
Otroška radovednost - gonilo napredka.

robinzon ::

header sem dodal.

imenski prostor std pa ne. kaj pa je to?

mi prosim napises kako to dodam.

Vesoljc ::

imenski prostor = namespace

recimo:


// vesoljc.hpp

namespace vsc
{
int glob_vrednost;

class Vesoljc
{

};
}

// main.cpp
#include "vesoljc.hpp"

//če boš zdej napisu samo
Vesoljc test_class1;
// zadeva ne bo delala, tkole pa bo
vsc::Vesoljc test_class1;
// ali pa tkole
using namespace vsc;
Vesoljc test_class1;


no, celotena standardna knjižnica je ovita v namespace "std"
recimo:



#include "list"

std::list seznam1;
Abnormal behavior of abnormal brain makes me normal...

robinzon ::

Kaj pa naj dam v Vesolj.hpp datoteko a tam naj bo tisto branje v 2d tabelo al kako?
Kaj pa je glob_vrednost?

A mi lahko napišeš na mojem primeru kako vključim ta imenski prostor:

-Imam file Matrika.cpp rad bi shranil matriko, ki je podana v datoteki na ta način:

1 4 6
8 9 3
6 7 5
v tabelo. Vedno vem kaksnega reda je matrika(v tem primeru 3x3)
Rad bi jo shranil v 2d tabelo s tem:

ifstream f("matrika.txt", ios::in);
for (int i = 0; i < m; i++)
for (int j = 0; j < m; j++)
f >> M[i][j];

kako moram zdaj uporabit ta imenski prostor?

OwcA ::

V prvo vrstico funkcije kjer prebereš to matriko dodaj:
using namespace std;
Otroška radovednost - gonilo napredka.

robinzon ::

Hvala, hvala in se enkrat hvala. Koncno dela vse kot treba:)!!!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

c++ napaka

Oddelek: Programiranje
101713 (1038) lebdim
»

[C++] Naloga seznam

Oddelek: Programiranje
223287 (2562) Matic1911
»

Kako gre to v Dev C++ ???

Oddelek: Programiranje
142336 (1807) bi0s
»

Kako bi naredil en ultra simple programček?

Oddelek: Programiranje
492323 (1604) AtaStrumf
»

Win32 Console Project

Oddelek: Programiranje
6927 (875) Fury

Več podobnih tem