Niepoprawne działania programów w C#

0

Na początek chciałbym się przywitać. Jako że C# uczę się od października i jeszcze za dużo nie umiem bo nawet nie spodziewałem się tego języka to mam kilka problemów z programami.

Mianowicie 1 program to równanie matematyczne. Problem polega na tym, że w wyniku cały czas dostaje 0. Drugi problem to to, że nie znam tych symboli matematycznych i nie wiem czy program dobrze liczy i w wyniku powinno być zero, czy źle liczy.

2 program to mam wskazać ilość elementów nieujemnych w każdym wierszu tablicy. Zrobiłem ale tylko tyle że pokazuje mi z całej tablicy a nie z każdego wiersza.

Ps. słabo widoczne ale chodzi o zadanie 6.

0

Kod wkleja się w treść posta, ujmując je w odpowiednie znaczniki. Wysoce zalecane jest również poprawne sformatowanie kodu przed wysłaniem. Mało komu będzie się chciało ściągać Twoje pliki txt aby je przeanalizować i potem wklejać kod do postu

0

Program z równaniem.

 int n, m, j, i, k;
            double S, ilo = 1, sum = 0, sum2=0;

            n = Convert.ToInt32(Console.ReadLine());
            m = Convert.ToInt32(Console.ReadLine());
            double[] a = new double[n + m + 5];
            double[] b = new double[m + 5];
            double[] c = new double[n + 5];

            for (i = 1; i <= m+n; i++)
            {
                a[i] = i;
                ilo = ilo * Math.Log(a[i],2);
            }
            for (j = 1; j <= m; j++)
            {
                b[j] = j;
                sum = sum + Math.Exp((-1)*Math.Pow(a[j], 2));
            }
            for (k = 0; k <= n; k++)
            {
                c[k] = k;
                sum2 = sum2 + Math.Log(Math.Abs(c[k]));
            }
            
            S = (1 + Math.Sqrt(sum)) / (1.32 + sum - sum2);
            Console.WriteLine("S= " + S);
            Console.ReadKey(); 
  1. Program z tablicą

 int n = 2;
            int m = 3;
            int index = 0;
            
            decimal[,] B_2 = {{ -8, 0, 4},
                                      {32,0,19}};

            for ( int i = 0; i<n; i++ )
                for (int j = 0; j < m; j=j+1)
                {
                    if (B_2[i,j] <0) index++;
                }
            Console.WriteLine("Ilość niezerowych elementów = " + index);
            Console.ReadKey();

Nie wiem czy same te kody z głównej funkcji wystarczą?

0
  1. w iloczynie masz wartość absolutną z ai i od 0 a nie od 1

  2. postaw breakpointa po pętlach i zobacz co masz w poszczególnych zmiennych

  3. to Console.WriteLine("Ilość niezerowych elementów = " + index); musisz umieścić w pierwszej pętli po przejściu drugiej pętli i dodatkowo musisz zerować zmienną index przy każdym obrocie głównej pętli

0

[heh kolega był pierwszy]

  1. Jak nie znasz symboli literka pi to iloczyn, a odwrócone M to suma. reszte znajdziesz w google.

  2. Nie "nie zerowych" tylko "nie ujemnych" w ifie i w opisie są dwie różne rzeczy , nie używa się takich krótkich nazw- tylko słowa w języku angielski która opisują co robi kod,,
    Rozmiar tablicy powinieneś nie wpisać jako magiczna stała tylko odczytać z tablicy, nie pisz zagnieżdżonych pętli bez klamerek.
    Wszystko co musisz robić to zerować indeks przed każdym wejście do for'a z "j" i wypisywać wynik zaraz po wyjściu z niego.

0

ale Panowie te rady mi nic nie dają, ja wgl tego języka nie roumiem bo nie mam żadnego zamiłowania do programowania bardziej zależy mi na sieciach a to dopiero na 2 roku, na razie przez pierwszy semestr muszę wytrzymać ten C# i moja przygoda z tym się kończy :). Mimo wszystko spróbuję to jakoś ogarnąć tak więc:

nie ujemnych czyli mniejsze równe 0 i faktycznie znaku równości mi brakuje ale mniejsza o to czy będzie<= czy <. Rozmiar tablicy niestety muszę tak robić bo tak pokazał koleś tylko on liczył tak samo ale większe od 0 i dla całej tablicy a od nas wymaga, że każdy wiersz osobno, w writeline faktycznie jest błąd bo to z podobnego programu .

0

ktoś coś?

0

http://4programmers.net/Pomoc/Na_pocz%C4%85tek/Dlaczego_nikt_nie_odpowiada_w_moim_w%C4%85tku

dostales pomoc, napisali Ci co zle, a Ty co robisz? Narzekasz.
Myslisz ze przy sieciach nie ma programowania?

Zadaj konkretne pytania a nie ktos cos. W calym Twoim poprzednim poscie (z wczoraj) nie ma ani jednego pytajnika. Wiec gdzie jest pytanie?

0

a czy ty myslisz, że jak studiuje informatyke to po studiach będzie się tym zajmował? nawet nie mam takie zamiaru, i tylko proszę o przerobienie(dopisanie, usunięcie niepotrzebnych linii kodu) programu, tak żebym mógł to zaliczyć.

abrakadaber napisał(a):
  1. w iloczynie masz wartość absolutną z ai i od 0 a nie od 1

  2. postaw breakpointa po pętlach i zobacz co masz w poszczególnych zmiennych

  3. to Console.WriteLine("Ilość niezerowych elementów = " + index); musisz umieścić w pierwszej pętli po przejściu drugiej pętli i dodatkowo musisz zerować zmienną index przy każdym obrocie głównej pętli

Jak ja niby mam to zrobić skoro nic z tego nie rozumiem

2

Jak potrzebujesz gotowca to na forum jest też dział http://4programmers.net/Forum/Og%C5%82oszenia_drobne

1 użytkowników online, w tym zalogowanych: 0, gości: 1