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

Prosim pomoc – C / C++ – Fórum – Programujte.comProsim pomoc – C / C++ – Fórum – Programujte.com

 

Ninus0
Duch
18. 3. 2007   #1
-
0
-

vedel by mi niekto pomoct s programom v c++??
potrebujem na zapocet nejaky lahucky priklad s objektami a triedami a nejaku maticu s ukazovatelom a funkciou..vopred dakujem..ja som do toho strasne blba...

Nahlásit jako SPAM
IP: ...–
sn3d0
Věrný člen
19. 3. 2007   #2
-
0
-

Uz to tu niekde bolo.. staci sa preklikat.. uz sa u riesili domace ulohy tohto typu.. ;) Btw ide o C++ alebo C?(vecsinou zadani som vydel v Cecku)

tu je jeden priklad ale v Cecku:
http://www.programujte.com/forum.php?akce=prispevek&id=2534#18486

alebo je to dost stare ale myslim ze tam som robil pre brata matice:



#include <stdio.h>
#define MAX 100

/* GLOBALNE PREMENNE */
int matica[MAX][MAX]; /* dvojrozmerne pole o MAX x MAX prvkoch */
int i,j; /* premenne vyuzivane v cykloch */

/* VLASTNE FUNKCIE */
void koniec(void)
{
char c;

printf("\n");
printf("\nStlacte ENTER pre ukoncenie...");
scanf("%c",&c);
scanf("%c",&c);
exit(0);
}

void nacitaj(int r) /* nacitanie prvkov matice */
{
printf("\nZadajte jednotlive prvky matice:\n");
for (i=0;i<r;i++)
for (j=0;j<r;j++)
{
printf("a%d,%d= ",i+1,j+1);
scanf("%d",&matica[i][j]);
}
}

void vypis(int r) /* nacitanie prvkov matice */
{
printf("\n\nVypis zadanej matice:\n");
for (i=0;i<r;i++)
{
for (j=0;j<r;j++)
printf("%d\t",matica[i][j]);
printf("\n");
}
}

void vysledok(int n,int p)
{
if ((n==1) || (p==1)) printf("\nZadana matica je trojuholnikova!");
else printf("\nZadana matica nie je trojuholnikova!");
koniec();
}

void over(int r) /* zistuje, ci je zadana matica trojuholnikova */
{
int nad=1,pod=1,k=1;
for (i=0;i<r;i++)
{
for (j=k;j<r;j++)
{
if (matica[j][i]!=0) pod=0;
if (matica[i][j]!=0) nad=0;
}
k++;
}
vysledok(nad,pod);
}

/* HLAVNA FUNKCIA ... main() */
int main(void)
{
int n,m;

printf("\nZadaj pocet riadkov (2-100): ");
scanf("%d",&n);
printf("\nZadaj pocet stlpcov (2-100): ");
scanf("%d",&m);

if (n!=m)
{
printf("\nMatica nie je stvorcova!!!\n");
koniec();
}

nacitaj(n);
vypis(n);
over(n);

return 0;
}



alebo


#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

#define ERASE_LEFT 0
#define ERASE_RIGHT 1
#define SPACE 32
#define CLOSE_STRING 0x00

//////////////////////////////////////
// Funkcia ktora otoci zadany text
// navratom je ukazovatel na text
//////////////////////////////////////
char* reverse_text(char* povodny)
{
//deklaracia premennych nastavenie ich hodnot
int size = strlen(povodny);
char* t = (char*)malloc(size);
int i,z; //icko sa pripocitava a ztko sa odpocitava

//otocenie
z = size - 1; // - 1 koli tomu lebo prvy znak je 0 ktory znaci koniec stringu
for(i = 0; i < size; i++)
{
t[i] = povodny[z];
z--;
}
t[i] = CLOSE_STRING; //nakoniec zapiseme 0 ktory znaci koniec stringu

return t; //vratime ukazovatel na string
}



///////////////////////////////////////////////////
// Tato fcia sa stara o nahradzovanie
// pismen medzerou, pocet nahradenych pismen
// sa zadava do premennej count a to z ktorej
// strany sa ma realizovat nahradzanie je
// flag ktory moze bit ERASE_LEFT a ERASE RIGHT
//////////////////////////////////////////////////
char* erase_text(char* text, int count, int flag)
{
//Deklaracia potrebnych premennych
int size = strlen(text);
char* t = (char*)malloc(size);
int z = 0;

//Erasing
for(int i = 0; i < size; i++)
{
//nastavy sa ci sa ma odpocitavat alebo pripocitavat
if(flag == ERASE_LEFT)
z = (size - i) - 1;
else
z = i;

//test ci zapisat medzeru alebo znak podla count
if(i < count)
t[z] = SPACE;
else
t[z] = text[z];

}
t[i] = CLOSE_STRING;
return t;
}



/////////////////////////////////////////
// Fcia zacne vypisovat riaadky formou:
// PROGRAM MARGORP
// PROGRA ARGORP
// PROGR RGORP
// PROG GORP
// PRO ORP
// PR RP
// P P
// Najpr do pomocnej premennejtext_rev
// otoci text pomocou reverse_text() a
// potom ho vypisuje a upravuje pomocou
// fcie erase_text()
/////////////////////////////////////////
void render_text(char* text)
{
//Deklaracia potrebnych premennych
char* text_rev = reverse_text(text);
int size = strlen(text);

//renderacia textu
for(int i = 0; i < size; i++)
{
printf("%s %s\n",erase_text(text,i,ERASE_LEFT),erase_text(text_rev,i,ERASE_RIGHT));
}
}


int main(int argc, char* argv[])
{
//Deklaracia
char text[255];

//nacitanie textu maximalne 255 znakov
printf("Zadajte text:");
scanf("%255s",&text);

//vypisanie textu(jeho renderovanie
render_text((char*)&text);
return 0;
}



Nahlásit jako SPAM
IP: ...–
shutdown -h now
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, 39 hostů

Podobná vlákna

C / C++ → Prosim pomoc — založil Nory

Prosím pomoc — založil Matej

Prosim pomoc v c++ — založil miska

Prosím pomoc — založil Michal

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ý