IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Vladimíra Keslová:3.11.2018 10:47

Zdravím,

dokáže mi někdo poradit co s tímhle (viz. obrázky)? Všechny závorky mám v páru, zkoušela jsem je mazat, přidávat.. :D
Chybu to píše na řádku 28.
Omlouvám se, jsem začátečník, asi to bude nějaká blbina :)
Děkuji

Editováno 3.11.2018 10:48
 
Odpovědět
3.11.2018 10:47
Avatar
Štefan Melich:3.11.2018 10:55

chyba nemusí byť na riadku 28 mohla by si sem hodiť celý kód?

 
Nahoru Odpovědět
3.11.2018 10:55
Avatar
HONZ4
Člen
Avatar
Odpovídá na Vladimíra Keslová
HONZ4:3.11.2018 16:53

krom závorek, zkontroluj jestli ti někde nechybí středník ;

 
Nahoru Odpovědět
3.11.2018 16:53
Avatar
Filip Zeman
Tvůrce
Avatar
Odpovídá na Vladimíra Keslová
Filip Zeman:3.11.2018 18:35

Zkontroluj, jestli je uzavřené namespace, class, metoda main i ten while cyklus. Pokud ne, zkus prostě přidat složenou závorku na konec. Pokud se ti po tom nějak pomíchá kód, řádky jdou seřadit pomocí Ctrl + K a Ctrl + F. :) (Musíš před tím označit kód k seřazení).

Editováno 3.11.2018 18:36
 
Nahoru Odpovědět
3.11.2018 18:35
Avatar
Odpovídá na Vladimíra Keslová
Vladimíra Keslová:3.11.2018 20:47

Celý kód je:

using System;
using System.Collec­tions.Generic;
using System.Linq;
using System.Text;
using System.Threadin­g.Tasks;

namespace Median
{
class Program
{
static void Main(string[] args)
{
Console.Write­Line("Zadej počet čísel:");
int pocet = int.Parse(Con­sole.ReadLine());
int[] cisla = new int[pocet];
for (int i = 0; i <= pocet - 1; i++)
{
Console.Write("Za­dej {0}. číslo:", i + 1);
cisla[i] = int.Parse(Con­sole.ReadLine());
}
Array.Sort(cisla);
while (pocet % 2 != 0)
{
float poziceMedian = pocet / 2;
int pozice = (int)Math.Rou­nd(poziceMedi­an);
int median = cisla[pozice];
Console.Write­Line(median);
}
else
{
float poziceMedian = pocet / 2F;
float poziceMedian2 = poziceMedian + 1;
float median = (poziceMedian + poziceMedian2) / 2;
}

for (int i = 0; i < cisla.Length; i++)
Console.Write­Line("{0} ", cisla[i]);

Console.ReadKey();

}
}
}

Středníky jsem kontrolovala, řekla bych, že jsou všude kde mají být. A uzavřené bych řekla, že je taky vše :)

Editováno 3.11.2018 20:48
 
Nahoru Odpovědět
3.11.2018 20:47
Avatar
Marek Uhlik
Člen
Avatar
Odpovídá na Vladimíra Keslová
Marek Uhlik:3.11.2018 20:55

A to else patří k čemu ?

 
Nahoru Odpovědět
3.11.2018 20:55
Avatar
Odpovídá na Marek Uhlik
Neaktivní uživatel:3.11.2018 21:11

Myslím, že chtěla použít <code>if</code>, protože <code>while</code> v dané situaci není vůbec potřeba.

Nahoru Odpovědět
3.11.2018 21:11
Neaktivní uživatelský účet
Avatar
Odpovídá na Vladimíra Keslová
Neaktivní uživatel:3.11.2018 21:12

Příště prosím používej tlačítko na vložení kódu (druhé zleva, jsou na něm špičaté závorky s lomítkem).

Nahoru Odpovědět
3.11.2018 21:12
Neaktivní uživatelský účet
Avatar
Filip Zeman
Tvůrce
Avatar
Odpovídá na Vladimíra Keslová
Filip Zeman:3.11.2018 21:29

Prostě vyměň while za if. While je cyklus, If je podmínka. Použití while tady by ti mohlo vytvořit i ošklivý nekonečný cyklus.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
3.11.2018 21:29
Avatar
Vladimíra Keslová:3.11.2018 21:40

Eh, ano to else bylo myšlené k tomu while, asi tedy špatně :D Nevěděla jsem jak toto sepsat do závorky za if (proměnná, podmínka, příkaz), proto jsem to použila takto.

Za vložení kódu se omlouvám, tlačítka jsem si nevšimla. Pro příště vím :)

A když jsme u toho, je nějaký zásadní rozdíl v použití if a while? :)

 
Nahoru Odpovědět
3.11.2018 21:40
Avatar
Odpovídá na Vladimíra Keslová
Neaktivní uživatel:3.11.2018 22:03

<code>if</code> provede kód jenom jednou a může mít <code>else</code>. <code>while</code> ti provádí kód, dokud podmínka nepřestane platit.

Nahoru Odpovědět
3.11.2018 22:03
Neaktivní uživatelský účet
Avatar
Vladimíra Keslová:10.11.2018 10:49

Děkuj všem za odhalení záhady :) v hlavě mi nějak hrálo for a pořád jsem nějak nechápala jak to mám udělat, až po nějaké době mi došlo, že nepíšete for ale if :D

 
Nahoru Odpovědět
10.11.2018 10:49
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.