NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze – Lekce 9 - Pole v C# .NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na Tomáš Jančák
Michal Štěpánek:11.4.2016 10:02

Mě se omlouvat nemusíš, ale na řešení problému je vždycky lepší vytvořit si svoje vlákno, protože v příspěvcích u článku to může snadno "zaniknout", když někdo přidá komentář a na řešení by se vůbec nemuselo ani dostat...

Odpovědět
11.4.2016 10:02
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
 
Odpovědět
11.4.2016 10:19
Avatar
Odpovídá na Tomáš Jančák
Libor Šimo (libcosenior):11.4.2016 10:40

V céčku by som to napísal takto nejako:

#include <stdio.h>

/**
* Funkcia vyberie z dvoch cisiel to mensie a porovnava
* ci maju obidve cisla rovnakeho delitela najpr polovicou
* mensieho cisla, potom ho znizuje az po cislo 2.
* Ak je delitel rovnaky, vydeli nim obidve cisla.
* @param pointer na cislo 1 (je to zaroven aj vystupny parameter)
* @param pointer na cislo 2 (je to zaroven aj vystupny parameter)
*/

void pomer(int *cislo1, int *cislo2)
{
    int i;
    if (*cislo1 > *cislo2) {
        for (i = *cislo2 / 2; i > 1; i--) {
            if (*cislo1 % i == 0 && *cislo2 % i == 0) {
                *cislo1 /= i;
                *cislo2 /= i;
            }
        }
    }
    else {
        for (i = *cislo1 / 2; i > 1; i--) {
            if (*cislo1 % i == 0 && *cislo2 % i == 0) {
                *cislo1 /= i;
                *cislo2 /= i;
            }
        }
    }
}

int main(void)
{
    int a = 21, b = 10;

    pomer(&a, &b);
    printf("%d : %d", a, b);


    return 0;
}
Odpovědět
11.4.2016 10:40
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Tomáš Jančák
Libor Šimo (libcosenior):11.4.2016 10:45

Pomýlil som sa.
Spoločného deliteľa treba začať hľadať nie z polovice menšieho čísla, ale z celého a potom to znižovať až po 2.

Editováno 11.4.2016 10:47
Odpovědět
11.4.2016 10:45
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Nona Hansel
Člen
Avatar
Nona Hansel:9.8.2017 14:11

Ahoj všem, zkoušela jsem si víše uvedené příklady v kompileru .NET Fiddle a háže mi chybovou hlášku, když použiju některou metodu na poli, konkrétně se jedná o tuto hlášku:

Compilation error (line 9, col 17): 'System.Array' does not contain a definition for 'Distinct' and no extension method 'Distinct' accepting a first argument of type 'System.Array' could be found (are you missing a using directive or an assembly reference?)

Compilation error (line 16, col 56): 'System.Array' does not contain a definition for 'Average' and no extension method 'Average' accepting a first argument of type 'System.Array' could be found (are you missing a using directive or an assembly reference?)

Zkoušela jsem uvedený kód u výkladu k Distinct() a proměnné délce pole zadat i do jiných kompilerů a výsledná hláška tam byla úplně stejná. Naopak s metodami na třídě Array .NET Fiddle problém nemá.

Umíte mi někdo poradit, prosím? Děkuji.

 
Odpovědět
9.8.2017 14:11
Avatar
Odpovídá na Nona Hansel
Luboš Běhounek Satik:9.8.2017 14:22

chybí ti na začátku souboru řádek

using System.Linq;
Odpovědět
9.8.2017 14:22
https://www.facebook.com/peasantsandcastles/
Avatar
František Hejský:31.8.2017 11:04

Poraďte mi prosím, někde tam mám chybu

Console.Write­Line("Ahoj, spočítám ti průměr známek, kolik známek zadáš?");
int pocet = int.Parse(Con­sole.ReadLine());
int[] cisla = new int[pocet];
for (int i = 0; i < pocet; i++);
{
Console.Write("Za­dej {0}. číslo: ", i + 1);
cisla[i] = int.Parse(Con­sole.ReadLine());
}
Console.Write­Line("Průměr tvých známek je: {0}", cisla.Average());
Console.ReadKey();

 
Odpovědět
31.8.2017 11:04
Avatar
Odpovídá na František Hejský
Štěpán Halíř:31.8.2017 12:45

Ahoj,

for (int i = 0; i < pocet; i++);

v řádku máš for cyklus ukončený středníkem, smaž ho a půjde ti to - středník tam nepatří.

Editováno 31.8.2017 12:46
 
Odpovědět
31.8.2017 12:45
Avatar
 
Odpovědět
31.8.2017 14:20
Avatar
Oli Wonder
Člen
Avatar
Oli Wonder:7.10.2017 11:05

Ahojte mám problém . Ako docielim to aby Po vyzvaní uživateľa zadal prve druhé,tretie čísla a uložilo ich do poľa?

 
Odpovědět
7.10.2017 11:05
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 10 zpráv z 231.