Forum » Programiranje » [C] izris trikotnika v konzoli
[C] izris trikotnika v konzoli

mleko ::
Prosil bi, če mi lahko kdo pomaga oz. mi da kakšen koristen nasvet, kako bi lahko naredil program ki ima navodilo:" Izdelaj program, ki izriše trikotnik. Velikost trikotnika naj se prebere preko tipkovnice. Primer trikotnika, če vnesemo velikost 5:
*
**
***
****
*****
"
 
Jaz sem razmišljal že na vse možne načine, pa mi še zdaj ni jasno, kako naj to rešim.
 
[Edit: sem popravil naslov teme, za prihodnjič si poglej PREBERI ME: označevanje topicov v oddelku programiranje. Poleg tega priporočam iskanje po temah naslednjič, ker to vprašanje se je že ene parkrat pojavilo - Gundolf]
*
**
***
****
*****
"
Jaz sem razmišljal že na vse možne načine, pa mi še zdaj ni jasno, kako naj to rešim.
[Edit: sem popravil naslov teme, za prihodnjič si poglej PREBERI ME: označevanje topicov v oddelku programiranje. Poleg tega priporočam iskanje po temah naslednjič, ker to vprašanje se je že ene parkrat pojavilo - Gundolf]
lp, mleko
- spremenil: Gundolf ()

PaX_MaN ::
* //1 zvezdica - 1. vrstica
** //2 zvezdici - 2. vrstica
*** //3 zvezdice - 3. vrstica
**** //4 zvezdice - 4. vrstica
***** //5 zvezdic - 5. vrstica
 
Vidiš, kam merim?
** //2 zvezdici - 2. vrstica
*** //3 zvezdice - 3. vrstica
**** //4 zvezdice - 4. vrstica
***** //5 zvezdic - 5. vrstica
Vidiš, kam merim?

speed machine ::
Pobrskaj za for ali pa while zanko.
 
Izgled programa:
 
1. Vpis velikosti (nasvet: cin)
2. Zanka/zanki (nas.: for, while...)
3. hja, nobenega tretjič ni, to je to :o)
Izgled programa:
1. Vpis velikosti (nasvet: cin)
2. Zanka/zanki (nas.: for, while...)
3. hja, nobenega tretjič ni, to je to :o)
//

smetko ::
Zelo enostaven program v Visual basic scriptu. v Vindowsih skopiraj kodo v datoteko s končnici VBS in jo zaženi.
V ostalih programskih jezikih je logika podobna.
 
Dim Vhod, Zvezdice, Izpis
Vhod = InputBox("Vnesi velikost trikotnika")
 
zvezdice=""
izpis=""
for i=1 to vhod
zvezdice=zvezdice & "*"
izpis= izpis & zvezdice & vbNewLine
next
WScript.Echo izpis
V ostalih programskih jezikih je logika podobna.
Dim Vhod, Zvezdice, Izpis
Vhod = InputBox("Vnesi velikost trikotnika")
zvezdice=""
izpis=""
for i=1 to vhod
zvezdice=zvezdice & "*"
izpis= izpis & zvezdice & vbNewLine
next
WScript.Echo izpis
No comment

snow ::
V vsaki vrstici izpišeš N zvezdic, kjer je N zaporedno število vrstice.
Na koncu vsake vrstice pride znak za novo vrstico. Npr: std::endl
 
Kaj točno je problem?
Na koncu vsake vrstice pride znak za novo vrstico. Npr: std::endl
Kaj točno je problem?
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

Robi182 ::
a tkole:
  
int N;
cin >> N;
for ( int i = 0; i < N; i++, cout << endl )
    for ( int j = 0; j <= i; j++, cout << "*" );  
somebody199 ::
Izdelajte program, ki bo na zaslon v obliki zvezdic izpisal pravokotni trikotnik. Krajši stranici trikotnika naj potekata vzporedno z robovi zaslona. Velikost stranic preberite s tipkovnice in naj bo večje od 5. Maksimalno širino omejite na 80 znakov, maksimalno višino pa na 20 znakov. A zna kdo narediti kodo za ta program?, enostavno mi ne uspe pa, da se še tako trudim, za vsakršno pomoč sem hvaležen :) 

Vesoljc ::
somebody199 je izjavil:
Izdelajte program, ki bo na zaslon v obliki zvezdic izpisal pravokotni trikotnik. Krajši stranici trikotnika naj potekata vzporedno z robovi zaslona. Velikost stranic preberite s tipkovnice in naj bo večje od 5. Maksimalno širino omejite na 80 znakov, maksimalno višino pa na 20 znakov. A zna kdo narediti kodo za ta program?, enostavno mi ne uspe pa, da se še tako trudim, za vsakršno pomoč sem hvaležen :)
pokazi kako se trudis!
Abnormal behavior of abnormal brain makes me normal...

darkkk ::
Naloga je malo bolj tečna kot se bere, ker moraš preračunat, koliko zvezdic tlačit v posamezno vrsto. Npr:
*
*
**
**
***
***
 
oz.
*
****
*******
**********
*************
 
Za sam "enakokraki" trikotnik
  
 
Ti moraš za vsako vrsto naračunat, koliko znakov ima, nekaj v smislu (int)((double)sirina / i)+1), kjer je i števika vrste.
*
*
**
**
***
***
oz.
*
****
*******
**********
*************
Za sam "enakokraki" trikotnik
#include <stdio.h>
int main(void){
	int size;
	printf("Vnesi velikost trikotnika: "); scanf("%d", &size);
	int i,j;
	for(i = 1; i <= size; i++ )
	{
		for(j = 0; j < i; j++)
			printf("*");
		printf("\n");
	}
	return 0;
}
Ti moraš za vsako vrsto naračunat, koliko znakov ima, nekaj v smislu (int)((double)sirina / i)+1), kjer je i števika vrste.
Zgodovina sprememb…
- spremenil: darkkk ()

Kockica ::
Mogoce ti bo tudi tole prav prislo ;)
 
  
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i,j,n,p,k;
    scanf("%d",&n);
    for(i=0; i <= n; i++)
    
    {
            for(p=0; p<=n-i; p++) printf(" ");
            for(j=i; j>=0; j--)printf("*");
             
             for(k=1; k<=i;k++) printf("*");
             printf("\n");
}
//deblo smreke
    for(i=0; i<n-1; i++)
    {
             for(p=0; p <=(2*n+1)/3; p++) printf(" ");
             for(j=0; j<n-2; j++) printf("*");
             printf("\n");
             }
             system("pause>null");
            
             return 0;
}
 
somebody199 ::
darkkk mislim da je ta ideja prava ja, samo koda mi nikakor ne uspe
 
*
* *
* *
* *
*************
 
Nekaj v takem smislu bi moglo priti ven. Če komu rata se zahvaljujem ker moje zmožnosti temu niso kos :D
pač znotraj bi naj biu prazen, sao okvir v bistvu, kot tri stranice, od katerih mora uporabnik vstavit dve
*
* *
* *
* *
*************
Nekaj v takem smislu bi moglo priti ven. Če komu rata se zahvaljujem ker moje zmožnosti temu niso kos :D
pač znotraj bi naj biu prazen, sao okvir v bistvu, kot tri stranice, od katerih mora uporabnik vstavit dve
Zgodovina sprememb…
- spremenila: somebody199 ()

darkkk ::
Evo, da boš mel domačo nalogo. Samo ker nisem glih "dobra vila", sem ti zadeve malo zapackal. Boš mel vsaj delo s pucanjem kode :)
 
  
#include <stdio.h>
#include <windows.h>
int main(void){
    int size_y, size_x;
 
	/*vnos*/
    printf("Vnesi velikost trikotnika: \n"); 
	printf("Visina: "); scanf("%d", &size_y);
	printf("Sirina: "); scanf("%d", &size_x);
    
	/*validacija*/
	if(size_x < 5 || size_y < 5){
		printf("Ena od stranic manjsa od 5.\n");
		return 0;
	}
	if(size_x > 80){
		printf("Sirina vec od 80 znakov.\n");
		return 0;	
	}
	if(size_y > 20){
		printf("Visina vec od 20 znakov.\n");
		return 0;
	}
	
	double delez = (double)size_x/size_y;
		
	int i,j,k;
	
    for(i = 0; i < size_y; i++ )
    {
		k = 3;
		while(k--){
			for(j = 0; j <= i*delez; j++){
				printf("%s", (k%2 == 0)?"*" : " ");
				Sleep(150);
			}
			printf("%c", 13);
		}
        printf("\n");
    }
    return 0;
}
 Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | Resne težave z razumevanjem osnov programiranja (strani: 1 2 )Oddelek: Programiranje | 18383 (14895) | RatedR | 
| » | C#-pomočOddelek: Programiranje | 1263 (1081) | mlamat | 
| » | Programiranje v Javi - trikotnik v * z zankami.Oddelek: Programiranje | 5278 (4336) | lebdim | 
| » | Osnova v C-juOddelek: Programiranje | 1258 (1032) | t3hn0 | 
| » | Java zvezdice - malo drugačeOddelek: Programiranje | 2451 (2253) | Leyla_ | 
