Witam
Mam mały problem. Program działa bez petli ktora jest pogrubiona czcionka ponizej - w petli tej chciałem policzyc ile wyrazów zawiera lancuch (nowy wyraz traktowany jest jesli jest spacja, +, -, # i inne takie znaki). Problem polega na tym ze mam tablice stringow (wiem jaka jest dlugosc kazdego elementu) ale nie umiem policzyc ile wyrazow zawiera kazdy element np Tab[0] = "To jest przykładowy tekst" dlugosc zwraca mi 24 ok tylko nie umiem wyliczyc ze ten element tablicy ma 4 wyrazy. Czy ma ktos jakis pomysł jak zmodyfikowac ta petle w ponizszym kodzie aby liczyło ile wyrazow ma kazdy element tablicy??
Prosze o pomoc jesli to mozliwe. Pozdrawiam:)
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace Lancuchy
{
class MojaKlasa
{
FileStream funkcjaZapis, funkcjaOdczyt;
void Odczyt()
{
string odczyt;
funkcjaOdczyt = new FileStream("D://p1.txt", FileMode.Open);
StreamReader sr = new StreamReader(funkcjaOdczyt);
Console.WriteLine("Odczytujemy dane z pliku.\n");
int a, licznik, suma, zmienna, b, c;
a = 0;
suma = 0;
licznik = 0;
zmienna = 0;
string[] Tablica = new string[15];
while ((odczyt = sr.ReadLine()) != null)
{
Console.WriteLine("Tab[" +a+ "] = " + odczyt);
Tablica[a] = odczyt;
a++;
licznik++;
}
Console.WriteLine("\nKoniec odczytu z pliku tekstowego.\n");
a = 0;
b = 0;
c = 0;
while (licznik != 0)
{
zmienna = Tablica[a].Length;
suma += zmienna;
do
{
if (Tablica[a][b] == ' ' || Tablica[a][b] == '+' || Tablica[a][b] == '-' || Tablica[a][b] == '#' || Tablica[a][b] == '$' || Tablica[a][b] == '%' || Tablica[a][b] == '^' || Tablica[a][b] == '&' || Tablica[a][b] == '*' || Tablica[a][b] == '\n' )
{
c++;
} b++;
} while (b <= zmienna);</b>
Console.WriteLine("Suma dlugosci znakow Tab[" + a + "] = " + zmienna);
a++;
b++;
licznik--;
}
Console.WriteLine("\nRazem " + suma + " znakow na wyrazow " + c + " \n");
}
void Zapis()
{
int licznik1;
licznik1 = 6;
funkcjaZapis = new FileStream("D://p2.txt", FileMode.Create);
StreamWriter sw = new StreamWriter(funkcjaZapis);
Console.WriteLine("Dane teraz zostaja zapisywane w pliku ciagiin.txt jako postac kontrolna!!!");
while (licznik1 != 0)
{
sw.WriteLine(Console.ReadLine());
licznik1--;
}
sw.Close();
Console.WriteLine("Dane zostały zapisane do pliku tekstowego!!! Sprawdz!!!");
}
static void Main()
{
Console.Write("Program sam wczytuje linijka po linijce liczby z pliku ciagiin.txt \ni zaspisuje sumy kontrolne do pliku out.txt!!!\n\n");
Console.ReadKey();
MojaKlasa obiekt = new MojaKlasa();
Console.WriteLine();
obiekt.Odczyt();
Console.WriteLine();
obiekt.Zapis();
Console.ReadKey();
}
}
}