Stránka: 1 z 1
| [ Príspevkov: 24 ] | |
Autor | Správa |
---|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
Mam urobit program ktory si od uzivatela vypyta retazec dlzky 25 znakov a potom si od uzivatela vypyta pismeno a program spocita kolko krat sa zadane pismeno nechadza v retazci.Vie s tym niekto pomoct? Zatial som zlozil len toto.
#include <iostream>
#include<string.h>
using namespace std;
int main (int argc, char *argv[])
{
int c;
char retaz[24] ;
char *p;
cout<<"Zadaj retazec"<<endl;
cin.get(retaz,23);
cout<<"Zadaj pismeno"<<endl;
cin>>c;
c = 0; //premenná reprezentujúca počet písmen
//vyskytujúcich sa v prehľadávanom reťazci
p = strchr(retaz,'c'); //priradenie premennej výsledok funkcie
while ( p !=NULL) //cyklus, pokiaľ p sa nerovná výsledku,
//že nič nenašlo
{
c++; //zvyšujeme výskyt
p = p+1; //odstráni zo zvyšku reťazca hľadaný znak
//na začiatku
p = strchr(p,'c'); //volanie funkcie s upraveným parametrom
}
cout<< "Pocet pismen hladaneho pismena je: "<<c<<endl;
Dakujem za pomoc.
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
Kód: #include <iostream> #include <cstring>
using namespace std;
int main (int argc, char *argv[]) { int poc = 0; char retaz[26], c;
cout << "Zadaj retazec" << endl; cin.getline(retaz, 26); cout <<"Zadaj pismeno" << endl; cin >> c; poc= 0;
for (int i = 0; i < strlen(retaz); i++) if (retaz[i] == c) poc++;
cout << "Pocet pismen hladaneho pismena je: " << poc << endl;
return 0; }
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
aj som si neco take skusal spravit tu to je Kód: #include <stdio.h>
main() { char slovo[100]; int i=0; int a=0; printf("Zadajte slovo: \n"); scanf("%s",&slovo); while(slovo[i] != '\0') { if(slovo[i]== 'a' || slovo[i] == 'A') a++; i++; } printf("V slove sa nachadza a %d krat.\n",a); getch(); } ale plati to len na jedno slovo nie na viac a hlada to a
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
Velmi pekne dakujem za program.Ked mozem este otravovat potrebujem tam dorobit aby program este urobil toto Po výpise počtu sa spýtajte na opakovanie operácie. Po zadaní písmena a si znova vyžiada zadať reťazec a písmenko, inak sa ukončí.Este mam jednu prosbu program som urobil len potrebujem dorobit aby mi pri vyslednych teplotach program ukazal v ktorom to bolo dni.Tu je program
#include <iostream>
using namespace std;
int main (int argc, char *argv[])
{
float priemer;
float mojePole[31];
int i,s,;
float max,min;
for ( i=0; i<31; i++) // 0-4
{
cout << "Zadajte teplotu pre: "<<endl;
cout<< i+1<< ".den = ";
cin >> mojePole[i];
}
for (i = 0; i<31; i++)
cout << i+1<<".den ste zadali teplotu: "<<mojePole[i]<<"stup."<<endl;
{
max=mojePole[0]; // zatiaľ si "myslíme", že prvý prvok je najväčší
for (i=1; i<31; i++) // pre istotu testujeme aj ostatné prvky poľa
if (max<mojePole[i]) max=mojePole[i]; // ak sme našli väčší prvok, zapamätáme si nové maximum
cout<< "Max teplota za mesiac je "<<max<<endl;
}
min=mojePole[0];
{
for(i=0;i<10;i++)
if(min>mojePole[i]) min=mojePole[i];
cout<< "Minimalna teplota za mesiac je: "<<min<<endl;
}
s=0;
{
for (i=0; i<31; i++) s=s+mojePole[i];
priemer=s/31.0;
cout<<"Priemerna teplota za mesiac je :"<<priemer<<endl;
}
cin.clear();
cin.sync();
cin.get();
return 0;
}
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
Nauc sa pouzivat stabnu kulturu. btw., zdrojaky tu na fore patria do tagu code
Kód: #include <iostream>
#define POCET 31
using namespace std;
int main (int argc, char *argv[]) { float s,priemer,max,min,mojePole[POCET]; int i,i_min = 0,i_max = 0;
do {
for ( i=0; i<POCET; i++) { cout << "Zadajte teplotu pre: "<<endl; cout<< i+1<< ".den = "; cin >> mojePole[i]; }
for (i = 0; i<POCET; i++) cout << i+1<<".den ste zadali teplotu: "<<mojePole[i]<<"stup."<<endl;
max=mojePole[0]; // zatiaľ si "myslíme", že prvý prvok je najväčší for (i=1; i<POCET; i++) // pre istotu testujeme aj ostatné prvky poľa if (max<mojePole[i]) { max=mojePole[i]; i_max = i;} // ak sme našli väčší prvok, zapamätáme si nové maximum cout<< "Max teplota za mesiac je "<<max<<", " << i_max+1 << ".den" << endl;
min = mojePole[0]; for(i=0;i<POCET;i++) if(min>mojePole[i]) { min=mojePole[i]; i_min = i; } cout<< "Minimalna teplota za mesiac je: "<<min<< ", " << i_min+1 << ".den" << endl;
s = 0; for (i=0; i<POCET; i++) s=s+mojePole[i]; priemer=s/POCET; cout<<"Priemerna teplota za mesiac je: "<<priemer<<endl; while (getchar()!='\n'); } while (printf("Stlac A ak chces pokracovat.\n"), toupper(getchar()) == 'A');
cin.clear(); cin.sync(); cin.get(); return 0; }
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
Dakujem za pomoc som este len zaciatocnik,to opakovanie programu po zadani pismena a by som potreboval do toho prveho programu.Ked tam napisem tie prikazy tak program nepracuje dobre.co stym mam este urobit?
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
Ktory teraz nepracuje spravne, prvy ci druhy? To opakovanie mozes spravit rovanko ako v druhom, len pridas vsetko do do while{} cyklu.
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
neutronmind píše: Ktory teraz nepracuje spravne, prvy ci druhy? To opakovanie mozes spravit rovanko ako v druhom, len pridas vsetko do do while{} cyklu.
Ten prvy s tym retazcom urobil som to takto
Kód: #include <iostream> #include <cstring> using namespace std;
int main (int argc, char *argv[]) {
char z; int poc = 0; char retaz[26], c; do{ cout << "Zadaj retazec" << endl; cin.getline(retaz, 26); cout <<"Zadaj pismeno" << endl; cin >> c; poc= 0;
for (int i = 0; i < strlen(retaz); i++) if (retaz[i] == c) poc++;
cout << "Pocet pismen hladaneho pismena je: " << poc << endl; while (getchar()!='\n'); } while (printf("Stlac A ak chces pokracovat.\n"), toupper(getchar()) == 'A');
cin.clear(); cin.sync(); cin.get(); return 0; } ale asi zle ze?
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
snazil som sa spravit tak to neutormindove ten program ale mam tam nejaku chyvbu nwm kde tu je to co som zatial spravil Kód: #include <iostream> #include <cstring> #include <cctype>
using namespace std;
void Vyhladaj(void) { int poc = 0; char retaz[26], c;
cout << "Zadaj retazec" << endl; cin.getline(retaz, 26); cout <<"Zadaj pismeno" << endl; cin >> c; poc= 0;
for (int i = 0; i < strlen(retaz); i++) if (retaz[i] == c) poc++;
cout << "Pocet pismen hladaneho pismena je: " << poc << endl; char rozhodnutie; cout<<"Chcete opakovat program? (a)ano (n)nie\n"; cin.get(rozhodnutie); cin.get(); if(rozhodnutie==toupper('a')) Vyhladaj();
else }
int main () { Vyhladaj();
system("pause"); return 0;
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
Stale mi to nejde neviem kde mozem mat chybu.Pomozte niekto prosim!
Susil som to aj takto a stale nic
Kód: #include <cstring> using namespace std;
int main (int argc, char *argv[]) {
char z; int poc = 0; char retaz[26], c; do{ cout << "Zadaj retazec" << endl; cin.getline(retaz, 26); cout <<"Zadaj pismeno" << endl; cin >> c; poc= 0;
for (int i = 0; i < strlen(retaz); i++) if (retaz[i] == c) poc++;
cout << "Pocet pismen hladaneho pismena je: " << poc << endl; cout<< "Opakovat?[a/n]: "; cin>>z;
}while (z!='n'); cin.clear(); cin.sync(); cin.get(); return 0; }
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
nwm
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
Tak to si mi velmi nepomohol.Napadlo ci nie treba pri dalsom spusteny programu vymazat pamat len neviem ako to urobit.
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
vypraznit buffer??
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
no asi take nieco len neviem ako
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
tu to mas Kód: while(getchar() != '\n') ; to je v C a v C++ to bude asi takto Kód: while(cin.get()!= '\n') ; asi nwm ci to fubnguje
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
dik ale aj tak mi to nefunguje
|
|
Registrovaný: 30.05.07 Prihlásený: 29.03.14 Príspevky: 641 Témy: 46 | 46 |
chlapi zas ta ista chyba co som tu nedavno 2krat uz pisal + dalsie 2 chyby som nasiel:
nemas include <iostream>
telo for cyklu nie je v { } - aha to som si az terza vsimol ze to nie je potrebne... ok takze sry len 1 dalsia chyba
a teraz ta prva chyba ktoru som tu vysvetloval uz:
ked zadavas ci chces opakovat program - zadas znak a enterom to potvrdis => v buffery je znak a enter (ENTER JE TIEZ ZNAK!!!!!!!!!!) lenze ty nacitas iba jedno 'z' a enter ostane v buffery, takze potom ked chces opakovat program, zadas acko, stlacis enter, program pokracuje a tam kde by mal nacitat nove slovo sa nacita ten enter...
takze ako napisal redo - treba vyprazdnit buffer ale nie po skonceni programu...
ak pouzivate normalne prostredie tak by po skonceni programu malo byt 'upratane'...
|
|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
ok ale aj tak neviem ako to urobit sedim pri tom uz par hodin,ked vies ako to urobit tak mi to prosim napis po lopate.
Dik.
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
a ake chybytam mam ja??
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 30.05.07 Prihlásený: 29.03.14 Príspevky: 641 Témy: 46 | 46 |
redo - tvoj kod som nekontroloval, iba ten posledny co napisal danop
danop - pridaj #include <iostream>
a potom tam kde mas:
cout<< "Opakovat?[a/n]: ";
cin>>z;
tak pod to treba pridat nieco na vyprazdnenie buffera, tusim to uz aj reDo pisal - bud tam das cely taky cyklus alebo ked vies ze tam ostal iba jeden znak (enter) tak staci ho nacitat napriklad prikazom getchar();
|
|
Registrovaný: 26.05.09 Prihlásený: 27.05.09 Príspevky: 10 Témy: 1 | 1 |
No kenecne mi to funguje dakujem vam velmi pekne tu je ten program Kód: #include <iostream> #include <cstring> using namespace std;
int main (int argc, char *argv[]) {
char z; while(z != 'n') //Porovnavam znak od uzivatele, se znakem konce opakovani { int poc = 0; char retaz[26], c;
cout << "Zadaj retazec" << endl; cin.getline(retaz, 26); cout <<"Zadaj pismeno" << endl; cin >> c; poc= 0;
for (int i = 0; i < strlen(retaz); i++) if (retaz[i] == c) poc++;
cout << "Pocet pismen hladaneho pismena je: " << poc << endl; cout<< "Opakovat?[a/n]: "; cin>>z; getchar(); }
return 0; }
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
skuskni to pls
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
No vidis. Este mozes premennu z inicializovat napr. nulovym znakom
Kód: char z = '\0';
ak by sa nahodou po alokacii nachadzala v premennej z hodnota 'n'. (aj ked je to dost nepravdepodobne (vlastne pravdepodobnost toho je 1:256, co je ~0.004))
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
dobre
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Stránka: 1 z 1
| [ Príspevkov: 24 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 1 | 421 | 20.03.2015 22:36 walther | | v Assembler, C, C++, Pascal, Java | 2 | 872 | 12.03.2009 12:08 Svjatogor | | v Assembler, C, C++, Pascal, Java | 4 | 624 | 27.09.2012 16:15 marian_r | | v Assembler, C, C++, Pascal, Java | 1 | 879 | 11.05.2008 8:23 sento | | v Assembler, C, C++, Pascal, Java | 13 | 783 | 25.03.2017 11:21 mitko | | v Assembler, C, C++, Pascal, Java | 24 | 1649 | 31.08.2010 22:02 ado21 | | v Assembler, C, C++, Pascal, Java | 7 | 775 | 23.05.2008 16:21 poma | | v Assembler, C, C++, Pascal, Java | 0 | 773 | 19.04.2007 17:28 pecko | | v Assembler, C, C++, Pascal, Java | 2 | 603 | 16.05.2008 16:51 Cruel | | v Assembler, C, C++, Pascal, Java | 19 | 1151 | 11.09.2010 20:57 jawakiller | | v Assembler, C, C++, Pascal, Java | 1 | 328 | 05.11.2013 16:00 Ďuri | | v Assembler, C, C++, Pascal, Java | 2 | 562 | 07.06.2012 21:57 Hipi21 | | v Assembler, C, C++, Pascal, Java | 2 | 1331 | 06.12.2006 20:44 rebecca | | v Assembler, C, C++, Pascal, Java | 2 | 725 | 12.09.2011 19:39 mk* | | v Assembler, C, C++, Pascal, Java | 8 | 791 | 02.02.2012 19:01 ochar | | v Assembler, C, C++, Pascal, Java | 3 | 934 | 06.11.2011 21:37 coldak |
|