Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 21 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
C - pyramida

Registrovaný: 27.09.09
Prihlásený: 13.03.17
Príspevky: 538
Témy: 122
Bydlisko: Nová Dubnica
Príspevok NapísalOffline : 15.10.2010 14:12

Zdravim pred par tyzdnami som azcal chodit v skole na programovanie no mam envyhodu ze vzdy vymeskam z hodiny a pol 15 minuta to zaciatocnych takze vela veci mi unika no a naposledy sme robili taku vec ze proram vam vypise ako keby polku pyramidy

*
**
***
****
*****
****** - nieco taketo

No mame spravit aby tam bola aj druha strana a to ejak neviem spravit

Zatial to mam takto :

Kód:
#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[])
{
int i,j;
   
    for( j = 1; j <= 10; j++ )
    {
    for( i = 10; i <= j; i++ )
    {   
    printf(" ");
    }
    for( i = 1 <= j i++ )
    {   
    printf(" x ");
    }
    printf("\n");
}
   system("PAUSE");
    return 0;
}







_________________
PC: Win7, P5Q, E8400, GTX260, 4GB, 1TB
NTB: Lenovo M30-70, Win10, i3, HD400, 4GB, 250GB + 8GB
Phone: iPhone 5S
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
C - pyramida

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 15.10.2010 16:03

Ja som taketo nieco riesil takto:

Kód:
#include <stdio.h>
 
int main() {
   int i, j, k, l=4;

   for(i=0;i<10;i+=2) {
      for(j=0;j<l;j++) {
         printf(" ");
      }
      l--;
      for(k=0;k<i;k++) {
         printf("*");
      }
      printf("*\n");
   }

   system("PAUSE");
   return 0;
}







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Užívateľ
Užívateľ
C - pyramida

Registrovaný: 27.09.09
Prihlásený: 13.03.17
Príspevky: 538
Témy: 122
Bydlisko: Nová Dubnica
Príspevok Napísal autor témyOffline : 15.10.2010 16:24

Mne to stale psie chybu....

Program mam : Dev-C++

Stale to pise chybu v 17. riadk ua tam je system("PAUSE");







_________________
PC: Win7, P5Q, E8400, GTX260, 4GB, 1TB
NTB: Lenovo M30-70, Win10, i3, HD400, 4GB, 250GB + 8GB
Phone: iPhone 5S
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
C - pyramida

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 15.10.2010 16:30

Tak to odtial odstran, tiez mam DevC++ a mne to ide v pohode ;)







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Užívateľ
Užívateľ
C - pyramida

Registrovaný: 27.09.09
Prihlásený: 13.03.17
Príspevky: 538
Témy: 122
Bydlisko: Nová Dubnica
Príspevok Napísal autor témyOffline : 15.10.2010 16:36

Uz to ide diky,,,dal som si len novy projekt a tam so msi zmenil z C++ na C a ocividne to pomohl oa uz to ide,,,idem analyzovat ako si dosiahol ten vysledok :D







_________________
PC: Win7, P5Q, E8400, GTX260, 4GB, 1TB
NTB: Lenovo M30-70, Win10, i3, HD400, 4GB, 250GB + 8GB
Phone: iPhone 5S
Offline

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

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok NapísalOffline : 19.10.2010 18:03

Zdravim, robim podobnu ulohu, avsak takym sposobom, ze pyramida je obratena hore nohami a uzivatel si zada sam pocet riadkov- povedzme pre 3 je to takto:
*****
***
*

robil som to cez while:


Kód:
#include <stdio.h>
 
int main() {
   
  int i, j, k, m, x, y;
  i = 0;
  m = 0;
 
  printf("Zadaj pocet riadkov pyramidy");
  scanf("%i", &k);

  x = k;
  y = k;
  j = (2 * k) - 1;

  while (i < k) {
     while (x > y) {
        printf("d");
        x = x - 1;
     }
     y = y - 1;
     while ( j > m ){
        printf("*");
        j = j - 1;
     }
     m = m + 2;
     i = i + 1;
     printf("\n");
  }
 
  return 1;
}


nesprava sa program tak, akoby som od neho cakal, skusil som si robit test aj na papier, tak mi to vychadza :) Problem je zrejme sposobeny mojou zlou znalostou Ccka, prosim vas, viete niekto, kde mam chybu? Nechcem to cez for, ale cez while, dakujem

// pridané po 30 minútach od posledného príspevku

aha uz to mam, neuvedomil som si, ze premennym, ktore su v cykle, sa po vyjdeni z cyklu neresetuje hodnota...dva inicializacie to spravili .)


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
C - pyramida

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 19.10.2010 18:38

naco pre boha tolko premennych?

Kód:
#include <stdio.h>

int main() {
    int i, j, z;
   
    printf("Zadaj pocet riadkov pyramidy: ");
    scanf("%i", &z);
   
    i = 0;
    while (i < z) {
        j = z;
        while (j > i) {
            printf("*");
            j--;
        }
        i++;
        printf("\n");
    }

    system("PAUSE");
    return 0;
}







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

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

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok NapísalOffline : 19.10.2010 18:44

ta pyramida ma byt sumerna podla stredu, ergo to nie je pravohuly trojuholnik v pravym uhlom vlavo hore

// pridané po 2 minútach od posledného príspevku

prikladam aktualny kod:

Kód:
#include <stdio.h>
 
int main() {
   
  int i, j, k, m, x, y;
 
  while (1){
  i = 0;
  m = 0;
 
 

  printf("Zadaj pocet riadkov pyramidy\n");
  scanf("%i", &k);

  x = k;
  y = k;
  j = (2 * k) - 1;

  while (i < k) {
     while (x > y) {
        printf(" ");
        x = x - 1;
     }
     x = k;
     y = y - 1;
     while ( j > m ){
        printf("*");
        j = j - 1;
     }
     j = (2 * k) - 1;
     m = m + 2;
     i = i + 1;
     printf("\n");
  }
  }
  return 1;
}


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
C - pyramida

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 19.10.2010 18:46

Uviedol si priklad:
Kód:
*****
***
*


a nie:
Kód:
*****
 ***
  *


:P







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

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

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok NapísalOffline : 19.10.2010 18:47

jj ospravdlnujem sa za to, forum neberie medzery a nevsimol som si to


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
C - pyramida

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 19.10.2010 18:49

Berie, ale treba pouzit na buduce [code] ak sa jedna o nieco taketo, tam to berie do uvahy aj medzery.







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

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

Registrovaný: 05.06.12
Prihlásený: 23.04.22
Príspevky: 64
Témy: 27
Príspevok NapísalOffline : 18.10.2012 11:37

tak teda aký je príkaz na
-*****- ?
--***--
---*---


Offline

Skúsený užívateľ
Skúsený užívateľ
C - pyramida

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 18.10.2012 11:43

Príkaz? Žiaden, musíš si to naprogramovať. Čo si zatiaľ skúsil?







_________________
C#, PHP, ...
Offline

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

Registrovaný: 05.06.12
Prihlásený: 23.04.22
Príspevky: 64
Témy: 27
Príspevok NapísalOffline : 18.10.2012 11:50

ja viem že nie iba jeden príkaz :D
takže zatial toto vyzerá to takto
*****
****
***
**
*
druhú stranu neviem napísať ...


Offline

Skúsený užívateľ
Skúsený užívateľ
C - pyramida

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 18.10.2012 12:41

Ide mi hlavne o tvoj kód, nie výstup ;)







_________________
C#, PHP, ...
Offline

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

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok NapísalOffline : 18.10.2012 12:49

Cau,
treba is uvedomit, ze zatialco pocet hviezdiciek kazdym riadkom klesa, pocet medzier pred hviezdickami stupa. Staci tam dat jeden printf a mozno pridat premennu pocitajucu pocet medzier (ale nie je to nutnost) a mas to.


Offline

Užívateľ
Užívateľ
C - pyramida

Registrovaný: 24.08.12
Prihlásený: 09.02.19
Príspevky: 59
Témy: 0
Príspevok NapísalOffline : 18.10.2012 17:35

Ten řádek hvězdiček jsi vypsal nějakou smyčkou, ne? Je to jedna strana pyramidy. Tak podobnou smyčkou vypiš ještě druhou stranu, nebo tu smyčku uprav, tak aby rovnou kreslila obě strany současně...







_________________
"Existuje pouze jeden člověk, který má méně přátel než Bill Gates, a tím je Saddám Husajn." (Paul Grayson)
Offline

Užívateľ
Užívateľ
C - pyramida

Registrovaný: 02.12.06
Prihlásený: 11.04.24
Príspevky: 690
Témy: 35
Bydlisko: Rimavská So...
Príspevok NapísalOffline : 18.10.2012 18:46

neviem či je to efektívne určite sa to dá spraviť s menšou zložitosťou, ale
Kód:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
printf("Zadaj cislo\n");
int n;
scanf("%i", &n);

    for(int i=0; i<2*n-1; i++)
    {
        for(int j=0; j<2*n-1; j++)
        {
            if(j>=i && j<=2*(n-1)-i)
            {printf("*");}
            else {
            printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}







_________________
Math is the best!
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 18.10.2012 19:23

toto ste dostali na domacu ulohu a ty chces len vysledok vsak? "skola hrou" jak sa vraví.


Offline

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

Registrovaný: 28.04.11
Prihlásený: 18.04.24
Príspevky: 296
Témy: 27
Bydlisko: Martin/Brno
Príspevok NapísalOffline : 18.10.2012 19:39

musíš si odvodiť počet medzier a počet hviezdičiek z premennej i


Offline

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

Registrovaný: 06.04.10
Prihlásený: 18.02.14
Príspevky: 47
Témy: 2
Príspevok NapísalOffline : 20.10.2012 3:07

Ahojte, sice je to v Pascale, ale do C by to nemal byt problem previest.
Moj program riesi parnu i neparnu zakladnu, co JARRROve riesenie nevie. I tak sa mi to zda byt akesi strasne neefektivne, hlavne co sa tyka premennych. Neviete ma naviest, poradit, kde robim chybu?
Kód:
program PYRAMIDA;
uses Crt;
var
  i,j,k,zakladna,medzery: Integer;

BEGIN
  ClrScr;
  Write('zadaj velkost zakladne pyramidy: ');
  ReadLn(zakladna);
  medzery := Trunc(zakladna/2);
  for i := medzery downto 0 do begin
    for j := 1 to i do
      Write(' ');
    k := 0;
    while k < ((medzery-i)*2)+(zakladna-medzery*2) do begin
      Write('*');
      inc(k);
    end;
    WriteLn;
  end;
  ReadLn;

END.

edit: nakoniec mi poradili kde robim chybu a tu je pravdepodobne najlepsie riesenie
Kód:
program PYRAMIDA;
uses Crt;
var
  i,j,zakladna: Byte;

BEGIN
  ClrScr;
  Write('zadaj velkost zakladne pyramidy: ');
  ReadLn(zakladna);
  for i := Trunc(zakladna/2) downto 0 do begin
    for j := 1 to i do
      Write(' ');
    for j := 1 to zakladna-2*i do
      Write('*');
    WriteLn;
  end;
  ReadLn;

END.


Odpovedať na tému [ Príspevkov: 21 ] 


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra