Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

probem z tablicą dynamiczną


daisy

Rekomendowane odpowiedzi

Opublikowano

hej! chciałam stworzyć program wczytujący macierz z pliku, ale problem chyba mnie przerósł... poniżej wrzucam swój niedziałający kod i bardzo proszę o pomoc...

#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

int main()
{
	int rzad, kolumna;
	ifstream m("macierz.txt");
	if (m.good())
	{
		int **macierz;
		macierz=new int *[rzad];
		for(rzad=0;!m.eof();rzad++)
		{
			macierz[rzad]= new int [kolumna];
			for(kolumna=0;!'\n';kolumna++)
			{
				m>>macierz[rzad][kolumna];
				cout<<macierz[rzad][kolumna]<<'\t';
			}
			cout<<'\n';
		}
	
		for(int i=0;i<kolumna; i++)
		delete []macierz[i];
		delete []macierz;
	}
	
	else
		cout<<"Problem z plikiem"<<endl;
	
	return 0;
}
Opublikowano

dzięki za odpowiedź ;D

też zastanawiałam się nad wartościami tych zmiennych, ale chciałabym żeby one były zależne od tego jaka macierz będzie w pliku... i nie do końca wiem jak to powinnam zrobić... może mi coś podpowiesz?

a jeśli chodzi o " !'\n' ", to dlaczego ten warunek będzie zawsze fałszywy? jeżeli w pliku będę miała np.

 

2 8 9

5 6 7

2 4 9

 

to pomyślałam, że każdy wiersz będzie się nim kończył i że mogę to wykorzystać...

Opublikowano
jeśli chodzi o " !'\n' ", to dlaczego ten warunek będzie zawsze fałszywy?

 

bo '\n' to zawsze 10

musisz to przyrównywać do wczytanego znaku

 

ale chciałabym żeby one były zależne od tego jaka macierz będzie w pliku

 

to albo trzymaj informacje o tych wielkościach w pliku, albo skorzystaj z std::vector

Opublikowano

Mozesz zapisac w pliku ilosc kolumn i wierszy a potem to odczytac ( znacznie latwiej bedzie )  ,lub poprostu policzyc ilosc liczb oraz wierszy a z tego wyliczyc ilosc kolumn ( oczywiscie macierz musi posiadac wartosci )
 
Jak cos pisz ;p

   int m=0, //kolumny
       n=0; //wiersze
	
  while(plik>>s)  m++;
  plik.clear();
  plik.seekg(0,ios::beg);

  while(getline(plik,s))  n++;
  

@ Wczytywanie

	int A[n*(m/=n)];
	
	 for(int i=0;i<n;i++)
    	 for(int j=0;j<m;j++) plik>>A[i*m+j];
    
		

 
 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...