Cześć, jak wczytać do dwuwymiarowej tablicy plik tekstowy, w którym są cztery kolumny i np 100 wierszy? Każda kolumna oddzielona jest spacją.
0
0
- Wczytaj do tablicy
string[100]
za pomocąFile.ReadAllLines("C:\plik.txt");
. - W pętli przejdź po tej tablicy, wywołując na każdym stringu metodę
Split
i jej wynik (tablicę) wstaw do swojej dwuwymiarowej tablicy.
0
Piszę programik na języki programowania, potrzebuję wykonać dokładnie tę samą operację co osoba wyżej.
Stoję tutaj.
string nazwaPliku = "plikicw.txt";
string[] tablica = null;
//obliczanie liczby wierszy w pliku
int ile = 0;
foreach (string line in File.ReadAllLines("plikicw.txt"))
if (line != String.Empty) ++ile;
tablica = new string[ile];
Console.WriteLine("Liczba wierszy w pliku: {0}", ile);
Console.WriteLine("Liczba wierszy w tablicy: {0}", tablica.Rank);
//odczyt pliku
StreamReader sReader2 = new StreamReader(nazwaPliku);
int liczbaKolumn=4;
string[,] tablicaDwuwymiarowa = new string[ile, liczbaKolumn];
for (int i = 0; i < ile; i++)
{
Console.WriteLine(tablica[i]);
tablica = sReader2.ReadLine().Split(',');
Console.WriteLine("Tablica jednowymiarowa");
Console.WriteLine(tablica[i]);
for (int j = 0; j < liczbaKolumn; j++)
{
tablicaDwuwymiarowa[i, j] = tablica[i];
Console.WriteLine("Tablica dwuwymiarowa");
Console.WriteLine(tablicaDwuwymiarowa[i, j]);
}
}
Wydaje mi się, że problemem wynika ze "Splitowania" najpierw 1 wiersza pliku, a następnie jego pierwszy element, wrzucany jest do tablicy i to on jest ponownie "Splitowany", co daje efekt ciągłego wpisywania w tablicy dwuwymiarowej pierwszych wyrazów wierszy z pliku, ale mogę być w błędzie.
Niestety nie mam pojęcia jak to skorygować, a byłabym niezmiernie wdzięczna za pomoc.
To zaledwie część mojego programu, a bez niego jestem w lesie...
0
A po co Ci w ogóle ten StreamReader
, skoro File.ReadAllLines
pozwala odczytać wszystkie linie z pliku od razu do tablicy?
Poza tym Rank
to nie liczba wierszy tablicy, lecz jej wymiarów.