Práce s polem – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Práce s polem – C / C++ – Fórum – Programujte.comPráce s polem – C / C++ – Fórum – Programujte.com

 

Serath
~ Anonymní uživatel
4 příspěvky
19. 2. 2008   #1
-
0
-

Chcel by som sa spytat ako by sa dalo spravit to ze mam zadanych N cisel (kazde je v inej premennej) ,a ak su vsetky rovnake tak
ich vypise... Dik

Nahlásit jako SPAM
IP: 217.119.116.–
AdamHlavatovic0
Stálý člen
19. 2. 2008   #2
-
0
-

Napríklad takto:

int numbers[] = {1, 1, 1, 2};

int i = 1;
for (i; i < 4; ++i)
{
if (numbers[i] != numbers[i - 1])
break;
}

if (i != 4)
... // cisla nejsu rovnake, urob nieco

Nahlásit jako SPAM
IP: 217.73.16.–
AdamHlavatovic0
Stálý člen
19. 2. 2008   #3
-
0
-

Ospravedlnujem sa, som si nevšimol tú zátvorku kazde je v inej premennej. Predchádzajúci kód samozrejme platí v prípade, že čísla sú uložene v poli, alebo inej štruktúre s preťaženým operátorom []. V prípade, že každé číslo je uložené v inej premennej tak ak je tých premenných málo, potom operátorom ==. Ak ich je veľa, tak sa priznám že ma nič nenapadá (ešte som sa s takou situáciou nestretol).

Nahlásit jako SPAM
IP: 217.73.16.–
Jura
~ Anonymní uživatel
637 příspěvků
19. 2. 2008   #4
-
0
-

No,takové nehezké řešení je třeba použití proměnného počtu parametrů(první parametr udaváva počet proměnných):



#include <iostream>
#include <cstdarg>

bool equal(int count, ...)
{
va_list list;
va_start(list, count );
int i, num = va_arg(list,int);
for(i = 1; i < count ; ++i)
{ int temp = va_arg(list,int);
if(num != temp) break;
num = temp;
}
va_end(list);
return ( i == count );
}

int main()
{
if(equal(5, 2,1,1,1,2)) std::cout << "stejne";
else std::cout << "rozdilne";
return 0;
}

Nahlásit jako SPAM
IP: 85.207.192.–
Serath
~ Anonymní uživatel
4 příspěvky
20. 2. 2008   #5
-
0
-

Lenze ja to mam v 2D poli asi takto :



for (int i=0;i<N;i++)
{

for (int j=0;i<100;j++)
{

if (Cisla[i][j]==Cisla[i+1][j] && i!=N)
{


}


}
}

A neviem ako pokracovat .Proste chcem len aby vtedy ked je cislo rovnake vo vsetkych poliach nech ho niekam priradi...

Nahlásit jako SPAM
IP: 217.119.116.–
AdamHlavatovic0
Stálý člen
20. 2. 2008   #6
-
0
-

To Serath : V riadku 5 máte zrejme chybu, i<100 ma byť j<100 a ak platí predchádzajúci predpoklad, alebo N<100, tak potom riadok osem je chybný a dochádza v ňom k prekročeniu hraníc poľa Cisla a teda k čítaniu nezmyslov. Konkrétne je chyba tu Cisla[i+1][j].

Nahlásit jako SPAM
IP: 217.73.16.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý