[ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
C cyklus for

Registrovaný: 03.03.06
Prihlásený: 03.06.20
Príspevky: 799
Témy: 159 | 159
NapísalOffline : 15.10.2011 15:59 | C cyklus for

Zdravim, mohli by ste mi prosim poradit, ako postupovat v tomto pripade?

Kód:
Napíšte funkciu, ktorá vypíše všetky násobky zadaného čísla x v intervale [a,b] (uzavretý interval, x,a,b sú parametre funkcie).

S C len zacinam, tak ma prosim neukamenujte.
A nasiel by sa niekto, kto by mi vedel "po lopate " vysvetlit ako presne funguje zadavanie funkcie do main, lebo stale moc nerozumiem ake hodnoty dat do zatvorky tej funkcie. Popripade nejaku stranku, pisanu pre laikov s C.


Offline

Skúsený užívateľ
Skúsený užívateľ
C cyklus for

Registrovaný: 11.01.09
Prihlásený: 10.05.24
Príspevky: 1385
Témy: 9 | 9
Bydlisko: Hrinova
NapísalOffline : 15.10.2011 16:27 | C cyklus for

V nazve temy mas cyklus for, ale na tuto ulohu mi pride nezmyselne pouzit for, tak ale ak to je takto v zadani, potom to mozes spravit nasledovne: prejdes cyklom for od a po b s tym, ze kazdy prvok vydelis cislom n a ak je zvysok po deleni nula ( nepouzijes operator / ale % ), dany vysledok vypis, ak nie, pokracuj v cykle.

K otazke s funkciou main: najprv ta len troska poopravim, main je funkcia a ta berie ako kazda ina funkcia parametre (argumenty). Asi mas na mysli toto, vsak?
Kód:
int main( int argc, char* argv[] )

Prvy parameter argc ( argument count ) uvadza pocet parametrov, s kolkymi bol program spusteny. Druhy parameter ( argument vector ) je pole samotnych parametrov. A co je to ten parameter programu? Ak spustas program cez prikazovy riadok, tak parametre su oddelene medzerami:
Kód:
mojprogram.exe prvyParameter druhyParameter

Cize predchadzajuce spustenie programu by v maine bolo taketo: argc == 3, argv[0] == "mojprogram.exe", argv[1] == "prvyParameter", argv[2] == "druhyParameter".


Offline

Užívateľ
Užívateľ
C cyklus for

Registrovaný: 09.04.11
Prihlásený: 11.01.14
Príspevky: 257
Témy: 26 | 26
Bydlisko: Kesa
NapísalOffline : 16.10.2011 0:59 | C cyklus for

Je to fakt v cykle for, a typujem že si z STU (API), lebo presne tento príklad bol teraz na cvikách :D A pozor. Ani jedna z tých úloch nebola myslená dať volačo do main, ale vytvoriť samostatné funkcie, ktoré budeš v programe main volať. A v tej otázke ti chýba, po aké číslo sa má cyklus for načítavať (n). Lebo darmo tam máš interval, keď nevie, že kolko máš tých čísiel načítať X je totiž len násobok toho čísla.
Kód:
#include <stdio.h>

int funkcia (int n, int x, int a, int b);

int main ()
{
   int n, x;
   int a, b;

   printf ("Zadaj pocet cisiel: ");
   scanf ("%i", &n);
   printf ("Zadaj nasobok cisla: ");
   scanf ("%i", &x);
   printf ("Zadaj interval v tvare  <a b>: ");
   scanf ("%i %i", &a, &b);
   funkcia (n, x, a, b);
   
}

int funkcia (int n, int x, int a, int b)
{
   int i;
   for (i = 0; i < n; i++)
   {
      if ((i * x) >= a && (i * x) <= b)
         printf ("%i ", i * x);
   }
   return i;
}


Neviem čo presne nechápeš, tak sa kludne spýtaj


_________________
NB - HP Pavilion DV7 3190 -- Windows® 7 Home Premium 64-bit -- Intel® Core™ i7-720QM 1,6 GHz az 2,8 Ghz Turbo Boost, 6 MB pamäte cache úrovne 2 -- 4 GB DDR3 -- disk 640 GB SATA 5400 ot/min -- rozlíšenie 1600 x 900 -- NVIDIA® GeForce® GT 230M -- 2 815 MB grafickej pamäte s vyhradenou pamäťou 1 GB DDR3 -- pripojenie 802.11 a/b/g/n
Offline

Skúsený užívateľ
Skúsený užívateľ
C cyklus for

Registrovaný: 11.01.09
Prihlásený: 10.05.24
Príspevky: 1385
Témy: 9 | 9
Bydlisko: Hrinova
NapísalOffline : 16.10.2011 10:05 | C cyklus for

street_punk píše:
A v tej otázke ti chýba, po aké číslo sa má cyklus for načítavať (n).

Ako to mozes vediet? Co ak ma ine zadanie? :) Treba odpovedat priamo na otazku, nie si ju dokraslit.
street_punk píše:
Lebo darmo tam máš interval, keď nevie, že kolko máš tých čísiel načítať X je totiž len násobok toho čísla.

A preco by nevedel? Ved to ma priamo v mojom popise vyssie:
Kód:
void findAllMultiples( int a, int b, int x ) {

    int i;

    for ( i = a; i <= b; i++ )
        if ( ( i % x ) == 0 )
            printf( "%d ", i );

}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 16.11.11
Prihlásený: 26.11.11
Príspevky: 4
Témy: 0 | 0
NapísalOffline : 16.11.2011 22:16 | C cyklus for

zdravicko mam mensi problem s programom papier kamen noznice .vypisuje mi zle vyhru a prehru asi nekde chyba v zapise if niesom isty pls o opravu uz som skusil snad vsetko ď :)

Kód:
[b]CODE:

#include "stdafx.h"
#include"iostream"
#include"math.h"
#include<cstdlib>
#include<ctime>

using namespace std;

int main(void)
   
{int x,a,b;
do{
cout<<"Hra kamen,papier,noznice! Zvol si jednu moznost a zistis kto je vitaz\nPre kamen zadaj cislo 1 papier-2 noznice-3\nPo remize zacinas znova";
cin>>b;
switch(b)   
   {case 1:cout<<"kamen\n";break;
case 2:cout<<"papier\n";break;
case 3:cout<<"noznice\n";break;
default:cout<<"zly sintax\n",system("PAUSE");return 0;
}

const int MIN = 1, MAX = 3; 
srand( (unsigned int) time(NULL) );   
x = rand();                         
x = rand() % (MAX-MIN + 1) + MIN;
switch(x)   
   {case 1:cout<<"kamen\n";break;
case 2:cout<<"papier\n";break;
case 3:cout<<"noznice\n";break;

}


}while(b==x);   

    if((b=1)&&(x=2))cout<<"prehral si" ;
else if((b=2)&&(x=1))cout<<"vyhral si";
else if((b=2)&&(x=3))cout<<"prehral si";
else if((b=3)&&(x=2))cout<<"vyhral si";
else if((b=1)&&(x=3))cout<<"vyhral si";
else if((b=3)&&(x=1))cout<<"prehral si";

system("PAUSE");
return 0   ;
}


[/b]


Offline

Užívateľ
Užívateľ
C cyklus for

Registrovaný: 27.12.08
Prihlásený: 13.12.22
Príspevky: 1874
Témy: 96 | 96
Bydlisko: Bratislava,...
NapísalOffline : 16.11.2011 22:35 | C cyklus for

znak rovná sa v podmienke je ==, ty tam máš iba jedno =..

okrem toho tam máš zbytočne definované konštanty, ktoré aj tak použiješ len raz a prvý riadok s rand(); je absolútne zbytočný..


_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 16.11.11
Prihlásený: 26.11.11
Príspevky: 4
Témy: 0 | 0
NapísalOffline : 16.11.2011 22:58 | C cyklus for

diki moc slape to


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 16.11.11
Prihlásený: 26.11.11
Príspevky: 4
Témy: 0 | 0
NapísalOffline : 26.11.2011 11:54 | C cyklus for

jedna z dalsich potrebujem aby som si zadal pocet prvkov pola z klavesnice no neviem kde robim chybu

Kód:
#include "stdafx.h"
#include "iostream"
#include "math.h"
#include <ctime>
#include <cstdlib>

using namespace std;

int main(void)
{int i;

const int y;
cin>>y;
   
int x[y];

cout<<"napln pole dvojcifernymi cislami\n";
 for (i=0; i<y; i++)
 {cin>>x[i]   ; }
 for (i=0; i<y; i++)
 {cout<<x[i]<<""<<' ';}
 
     system ("PAUSE");
   return 0;


Offline

Skúsený užívateľ
Skúsený užívateľ
C cyklus for

Registrovaný: 11.01.09
Prihlásený: 10.05.24
Príspevky: 1385
Témy: 9 | 9
Bydlisko: Hrinova
NapísalOffline : 26.11.2011 12:16 | C cyklus for

Nemozes ukladat data do konstantnej premennej ( logicky ), ako to robis tuna:
Kód:
const int y;
cin>>y;


Konstanta uz musi byt dana v dobe navrhu programu. Oprava:


Kód:
#include <iostream>

using namespace std;

int main(void)
{

    int i, y;     

    cin >> y;

    int x[y];

    cout<<"napln pole dvojcifernymi cislami\n";

    for (i=0; i<y; i++)
        cin >> x[i];     

    for (i=0; i<y; i++)
        cout << x[i] << "" << ' ';

    return 0;

}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 16.11.11
Prihlásený: 26.11.11
Príspevky: 4
Témy: 0 | 0
NapísalOffline : 26.11.2011 12:23 | C cyklus for

no ano tak som to mal ale podsiarkne my pole x[y] ze nieje konstanta a potom to cele program preskoci a ani nic nezadavam z klavesnice az potom tie konkretne hodnoty pola


Offline

Skúsený užívateľ
Skúsený užívateľ
C cyklus for

Registrovaný: 11.01.09
Prihlásený: 10.05.24
Príspevky: 1385
Témy: 9 | 9
Bydlisko: Hrinova
NapísalOffline : 26.11.2011 13:57 | C cyklus for

Tak neviem, ale g++ s tym kodom nema problem. Mozes este pouzit dynamicku alokaciu:
Kód:
#include <iostream>

using namespace std;

int main(void)
{

    int i, y;
    int* x;

    cin >> y;
    x = new int[y];


    cout<<"napln pole dvojcifernymi cislami\n";

    for (i=0; i<y; i++)
        cin >> x[i];

    for (i=0; i<y; i++)
        cout << x[i] << "" << ' ';

    delete [] x;
    return 0;

}


 [ Príspevkov: 11 ] 


C cyklus for



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

PHP cyklus for

v PHP, ASP

8

531

20.11.2010 16:13

venom2

V tomto fóre nie sú ďalšie neprečítané témy.

C# Cyklus For, inicializovanie a vytvorenie "labelov" pomoc

v Technológia .NET

1

511

28.03.2013 19:01

walther

V tomto fóre nie sú ďalšie neprečítané témy.

CUSTOM CSS FOR MAIN CONTENT AREA ONLEY FOR MAIN PAGE

v HTML, XHTML, XML, CSS

6

555

29.10.2013 15:21

Beatdownhaus

V tomto fóre nie sú ďalšie neprečítané témy.

Nekonečný cyklus

v JavaScript, VBScript, Ajax

8

613

04.09.2011 9:49

camo

V tomto fóre nie sú ďalšie neprečítané témy.

VB - cyklus

v Delphi, Visual Basic

3

736

21.05.2009 11:19

Patkoo

V tomto fóre nie sú ďalšie neprečítané témy.

diagram cyklus

v Ostatné

2

373

13.06.2018 17:14

void

V tomto fóre nie sú ďalšie neprečítané témy.

[pascal] nekonecny cyklus

v Assembler, C, C++, Pascal, Java

3

598

02.04.2010 13:24

vama

V tomto fóre nie sú ďalšie neprečítané témy.

JAVA, FOREACH CYKLUS

v Assembler, C, C++, Pascal, Java

2

602

25.08.2017 8:20

mitko

V tomto fóre nie sú ďalšie neprečítané témy.

EXCEL - cyklus na combobox

v Ostatné programy

1

1048

28.07.2009 17:10

PaloPa

V tomto fóre nie sú ďalšie neprečítané témy.

makro feof a cyklus

v Assembler, C, C++, Pascal, Java

23

682

25.06.2015 23:43

magic

V tomto fóre nie sú ďalšie neprečítané témy.

nekonečný cyklus v jave

v Assembler, C, C++, Pascal, Java

2

853

01.01.2010 16:58

jarrro

V tomto fóre nie sú ďalšie neprečítané témy.

Cyklus na zistenie interpunkčného znaku

v Assembler, C, C++, Pascal, Java

7

387

05.02.2017 20:18

GamerSK

V tomto fóre nie sú ďalšie neprečítané témy.

update velkeho mnozstva dat - cyklus?

v PHP, ASP

4

308

02.02.2013 16:36

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Excel - VBA - ako riesit cyklus?

v Ostatné

3

713

17.05.2018 16:11

Winnetou

V tomto fóre nie sú ďalšie neprečítané témy.

Cyklus v dopyte na databazu

v PHP, ASP

5

372

08.10.2010 17:37

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

zmena rekurzivneho volania na cyklus

v Assembler, C, C++, Pascal, Java

1

424

07.03.2011 10:53

chrono



© 2005 - 2024 PCforum, edited by JanoF