Stránka: 3 z 5
| [ Príspevkov: 128 ] | 1, 2, 3, 4, 5 |
Autor | Správa |
---|
Registrovaný: 16.05.05 Príspevky: 5075 Témy: 105 | 105 Bydlisko: Trenčín, SR |
Zdravím, moc sem neprispievam, tak sorry ak tu už niečo podobné vyriešené je, ale nenašiel som to. Potrebujem relatívne dosť nutne nasledovný program:
Kód: Napište program, který bude provádět operace s maticemi obecných rozměrů obsahující celá čísla (použijte datový typ int). Program musí ošetřit situace, kdy matice nemají pro operaci vhodné rozměry nebo jiné vlastnosti dané podstatou operací. Implementujte tyto operace:
* Součet matic * Součin matic
Hlavne si neviem dať rady s načítaním matice zo súboru. Moc moc ďakujem za pomoc.
_________________
Intel Core i5-3450 | Gigabyte GA-Z77M D3H | Kingston 8GB 1600MHz DDR3 | Sapphire HD7850 2GB | 2x ADATA SX900 256GB | WD MyCloud 4TB | 27" AOC | Cooling by GELID Apple iPhone 6s 32GB | 2005 Ford Focus II 1.8TDCi Panther Black S-packet
"My new computer came with Windows 7. Windows 7 is much more user-friendly than Windows Vista. I don't like that."
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
no pri nacitavani to mas tak ze nikdy nevies ako to nacitat pretoze najprv musis poznat sposob akym to ulozis.
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 16.05.05 Príspevky: 5075 Témy: 105 | 105 Bydlisko: Trenčín, SR |
No ja to potrebujem uložiť do dynamického viacrozmerného pola...aspoň teda tak som sa dozvedel od spolubývajúceho...proste má sa tam použiť funkcia malloc().
_________________
Intel Core i5-3450 | Gigabyte GA-Z77M D3H | Kingston 8GB 1600MHz DDR3 | Sapphire HD7850 2GB | 2x ADATA SX900 256GB | WD MyCloud 4TB | 27" AOC | Cooling by GELID Apple iPhone 6s 32GB | 2005 Ford Focus II 1.8TDCi Panther Black S-packet
"My new computer came with Windows 7. Windows 7 is much more user-friendly than Windows Vista. I don't like that."
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
ale myslel som ze ako sa to uklada do suboru. teda ako su v tom subore usporiadane jednotlive koeficienty. akym stylom su tam ulozene.
napr 1 2 3 4 5 6
alebo 1 2
3 4
5 6
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 16.05.05 Príspevky: 5075 Témy: 105 | 105 Bydlisko: Trenčín, SR |
Aha...no ono sa to ani nemusí ukladať do súboru, stačí to vypísať na obrazovku. Teda v zadaní úlohy to nie je, takže to treba len vypísať na obrazovku.
//EDIT: Teda takto: keď načítam (nejako, neviem ako) tie matice zo súborov a spravím súčet a súčin tak by ich malo potom vypísať v takom formáte ako boli zadané, teda mám vstupný súbor napríklad:
4 4 - rozmer matice
4 3 2 1
2 8 1 2
1 2 3 4
4 3 1 5
a druhý v rovnakom formáte len s inými číslami, tak potrebujem aby ich po tom súčte a súčine vypísalo takto isto ale so zmenenými hodnotami.
_________________
Intel Core i5-3450 | Gigabyte GA-Z77M D3H | Kingston 8GB 1600MHz DDR3 | Sapphire HD7850 2GB | 2x ADATA SX900 256GB | WD MyCloud 4TB | 27" AOC | Cooling by GELID Apple iPhone 6s 32GB | 2005 Ford Focus II 1.8TDCi Panther Black S-packet
"My new computer came with Windows 7. Windows 7 is much more user-friendly than Windows Vista. I don't like that."
|
|
Registrovaný: 16.05.05 Príspevky: 5075 Témy: 105 | 105 Bydlisko: Trenčín, SR |
Zatial mám niečo takéto, neviem kde môže byť chyba, vypíše mi to rozmer tej matice, ale keď už chcem pre kontrolu, či to načítalo správne, vypísať aj maticu, tak mi to padne:
Kód: fr = fopen ("matice1.txt" , "r"); fscanf (fr, "%d %d", &a, &b); printf ("\nRozmer matice 1:\n"); printf ("%d %d", a, b); for (j=0; j<a; j++);{ for (i=0; i<b; i++) { fscanf("%d",&pole1[j][i]); } } printf("\n\nNacitana matica: \n"); printf("%d ",pole1[j][i]);
_________________
Intel Core i5-3450 | Gigabyte GA-Z77M D3H | Kingston 8GB 1600MHz DDR3 | Sapphire HD7850 2GB | 2x ADATA SX900 256GB | WD MyCloud 4TB | 27" AOC | Cooling by GELID Apple iPhone 6s 32GB | 2005 Ford Focus II 1.8TDCi Panther Black S-packet
"My new computer came with Windows 7. Windows 7 is much more user-friendly than Windows Vista. I don't like that."
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
oprav si:
fscanf("%d",&pole1[j][i]);
na toto:
fscanf(fr, "%d",&pole1[j][i]);
|
|
Registrovaný: 16.05.05 Príspevky: 5075 Témy: 105 | 105 Bydlisko: Trenčín, SR |
No takže načítanie, aj sčítanie a násobenie už funguje, ale potreboval by som vedieť ako zistím či sa nachádza submatica v matici. Teda či je súčasťou matice o rozmeroch povedzme 4x4 submatica s rozmermi napr. 2x2. Díki moc
_________________
Intel Core i5-3450 | Gigabyte GA-Z77M D3H | Kingston 8GB 1600MHz DDR3 | Sapphire HD7850 2GB | 2x ADATA SX900 256GB | WD MyCloud 4TB | 27" AOC | Cooling by GELID Apple iPhone 6s 32GB | 2005 Ford Focus II 1.8TDCi Panther Black S-packet
"My new computer came with Windows 7. Windows 7 is much more user-friendly than Windows Vista. I don't like that."
|
|
Registrovaný: 09.09.07 Prihlásený: 15.02.11 Príspevky: 24 Témy: 2 | 2 Bydlisko: bratislava |
cawte decka
potrebujem pomoct dokoncit program. chcem pomoct s mazanim zaznamu podla ID studenta. neviem si rady
nejak mi to hapruje vo velkom.
je to ten case 4 zvyrazneny tymi xxxxxxxxxxxxx
pomozete?
Kód: #include<stdio.h> #include<string.h> #include<stdlib.h>
class zaznam {public char priezvisko[20], meno[20], telc[20], vk[20], ID[20]; }; int main() { zaznam x,y;
FILE *f; int volba, i, c, t, koniec=0, user, zac_citania=0, volba=0, m, i; bool a; while (!koniec) { system("CLS"); printf ("Menu\n"); printf (" Zadaj volbu : \n"); printf (" 1. novy zaznam \n"); printf (" 2. vyhladanie kontaktu \n"); printf (" 3. zmena kontaktov \n"); printf (" 4. vymazanie kontaktu \n"); printf (" 5. vypis zaznamov \n"); printf (" 0. koniec \n"); if (!scanf("%d", &volba)) { user=0; fflush(stdin); } else user=1; switch (volba) { case 1: system("CLS"); f=fopen ("zoznam.dat","a"); printf ("Zadajte : \n"); printf (" Zadaj meno : "); scanf ("%19s",meno); fwrite (meno,sizeof(char),20,f); printf (" Zadaj priezvisko : "); scanf ("%19s",priezvisko); fwrite (priezvisko,sizeof(char),20,f); printf (" Zadaj telefonne cislo : "); scanf ("%19s",telc); fwrite (telc,sizeof(char),20,f); printf (" Zadajte ID :"); scanf ("%19s", ID); fwrite (ID,sizeof(char),20,f); fclose (f); getchar(); break; case 2: system("CLS"); printf ("zadaje podla coho chcete vyhladavat : \n"); printf (" 1. podla mena \n"); printf (" 2. podla priezviska \n"); printf (" 3. podla telefonneho cisla \n"); printf (" 4. podla ID \n"); scanf("%d", &volba); f=fopen("zoznam.dat","r"); switch (volba) { case 1: system("CLS"); printf(" Zadaj meno: "); scanf("%19s",meno); i=-1; a=false; while (c=getc(f),feof(f)==0) { i++; fseek(f,60*i,SEEK_SET); fread(vk,sizeof(char),20,f); if (strcmp(vk,meno)==0) { printf ("Najdeny zaznam : \n"); printf("%s\n",vk); fseek(f,60*i+20,SEEK_SET); fread(priezvisko,sizeof(char),20,f); printf("%s\n",priezvisko); fseek(f,60*i+40,SEEK_SET); fread(telc,sizeof(char),20,f); printf("%s\n",telc); fseek(f,60*i+60, SEEK_SET); fread(ID,sizeof(char),20,f); printf("%s\n",ID); a=true; } } if (!a) { printf (" hladana volba nebola najdena !"); } getchar(); getchar(); break; case 2: system("CLS"); printf("zadaj priezvisko: "); scanf("%19s",priezvisko); i=-1; a=false; while (c=getc(f),feof(f)==0) { i++; fseek(f,20+60*i,SEEK_SET); fread(vk,sizeof(char),20,f); if (strcmp(vk,priezvisko)==0) { fseek (f,60*i,SEEK_SET); fread (meno,sizeof(char),20,f); printf ("Najdeny zaznam : \n"); printf ("%s\n",meno); printf ("%s\n",vk); fseek (f,60*i+40,SEEK_SET); fread (telc,sizeof(char),20,f); printf ("%s\n",telc); fseek(f,60*i+60, SEEK_SET); fread(ID,sizeof(char),20,f); printf("%s\n",ID); a=true; }
} if (!a) { printf (" hladana volba nebola najdena !"); } getchar(); getchar(); break; case 3: system ("CLS"); printf ("Zadaj telefonne cislo: "); scanf ("%19s",telc); i=-1; a=false; fseek (f,0,SEEK_END); t=ftell(f)/60; while (feof(f)==0 && t>i+1) { i++; fseek(f,40+60*i,SEEK_SET); fread(vk,sizeof(char),20,f); if (strcmp(vk,telc)==0) { fseek(f,60*i,SEEK_SET); fread(priezvisko,sizeof(char),20,f); printf ("Najdeny zaznam : \n"); printf("%s\n",priezvisko); fseek(f,60*i+20,SEEK_SET); fread(meno,sizeof(char),20,f); printf("%s\n",meno); printf(" %s\n",vk); fseek(f,60*i+60, SEEK_SET); fread(ID,sizeof(char),20,f); printf("%s\n",ID); a=true; } } if (!a) { printf (" hladana volba nebola najdena !"); } getchar(); getchar(); fclose(f); break; case 4: system ("CLS"); printf ("Zadaj ID: "); scanf ("%19s",ID); i=-1; a=false; fseek (f,0,SEEK_END); t=ftell(f)/60; while (feof(f)==0 && t>i+1) { i++; fseek(f,40+60*i,SEEK_SET); fread(vk,sizeof(char),20,f); if (strcmp(vk,ID)==0) { fseek(f,60*i,SEEK_SET); fread(priezvisko,sizeof(char),20,f); printf ("Najdeny zaznam : \n"); printf("%s\n",priezvisko); fseek(f,60*i+20,SEEK_SET); fread(meno,sizeof(char),20,f); printf("%s\n",meno); printf(" %s\n",vk); fseek(f,60*i+60, SEEK_SET); fread(ID,sizeof(char),20,f); printf("%s\n",ID); fseek (f,60*i+40,SEEK_SET); fread (telc,sizeof(char),20,f); printf ("%s\n",telc); a=true; } } if (!a) { printf (" hladana volba nebola najdena !"); } getchar(); getchar(); fclose(f); break; } break; case 3: system("CLS"); f=fopen ("zoznam.dat","a"); printf("zadajte kontakt ktory chcete zmenit\n"); printf(" Meno: "); scanf("%19s",meno); printf(" Priezvisko: "); scanf("%19s",priezvisko); printf(" Telefonne cislo: "); scanf("%19s",telc); printf(" ID: "); scanf("%19s",ID); fclose(f); f=fopen("zoznam.dat","rb+"); i=-1; while (c=getc(f),feof(f)==0) { i++; fseek(f,60*i,SEEK_SET); fread(vk,sizeof(char),20,f); if (strcmp(vk,meno)==0) {
fseek(f,60*i+20,SEEK_SET); fread(vk,sizeof(char),20,f); if (strcmp(vk,priezvisko)==0) { fseek(f,60*i+40,SEEK_SET); fread(vk,sizeof(char),20,f); if (strcmp(vk,telc)==0) { fseek(f,60*i+60,SEEK_SET); fread(vk,sizeof(char),20,f); if (strcmp(vk,ID)==0) { printf (" Zadajte nove parametre : \n"); printf(" Meno: "); scanf("%19s",meno); printf(" Priezvisko: "); scanf("%19s",priezvisko); printf(" Telefonne cislo: "); scanf("%19s",telc); printf(" ID: "); scanf("&19s",ID); fseek(f,60*i,SEEK_SET); fwrite(meno,sizeof(char),20,f); fseek(f,60*i+20,SEEK_SET); fwrite(priezvisko,sizeof(char),20,f); fseek(f,60*i+40,SEEK_SET); fwrite(telc,sizeof(char),20,f); fseek(f,60*i+60, SEEK_SET); fwrite(ID,sizeof(char),20,f); } } } } } getchar(); fclose(f); break; xxxxxxxxxxxxxxxxxxxxxxxxxxxxx case 4; system("CLS"); f=fopen ("zoznam.dat","a+"); printf("zadajte kontakt ktory chcete vymazat\n"); printf(" ID: "); scanf("%19s",ID); fseek(f,0,SEEK_SET);
fclose(f); break;*/ case 5: system("CLS"); f=fopen("zoznam.dat","r"); printf ("Ulozene kontakty : \n"); while (fread(meno,sizeof(char),20,f) && fread(priezvisko,sizeof(char),20,f) && fread(telc,sizeof(char),20,f) && fread(ID,sizeof(char),20,f)) { printf(" %s,", meno); printf(" %s,", priezvisko); printf(" %s,", telc); printf(" %s,\n", ID); } if (f==NULL) { printf (" hladana volba nebola najdena "); } fclose(f); getchar(); getchar(); break; case 0: koniec=1; getchar(); break; } } }
////////////////////
///VYRIESENE///
////////////////////
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
urob si to tak, ze na zaciatku si nadefinuj:
zaznam pole[100];
a do tohto pola si budes ukladat vsetky tie udaje;
- nacitavat (zo suboru) budes do tohto pola
- ukladat budes z tohto pola do suboru
- vyhladavat len vramci tohto pola
- mazat znamena iba vyradit prvok z tohto pola a zapisat pole do suboru;
Ty robis vsetko cez subor, a tota struktura/trieda zaznam Ti je absolutne nanic;
Potrebujes sa naucit robit aspon pomocou pola (a potom pomocou spojkoveho zoznamu)
Ak by si to predsa len chcel robit dalej pomocou zoznamu, tak musis premenovat subor zoznam.dat na zoznam.res, otvorit ho na citanie a kopirovat vsetky zaznamy do zoznam.dat okrem toho jedineho.
|
|
Registrovaný: 16.02.08 Prihlásený: 08.12.10 Príspevky: 235 Témy: 13 | 13 |
Osobne by som take veci neriel pokial programko nie je povinne. Ak si si ho zvolil tak makaj, ale nie nech ti ludia poslu hotovy zdrojak a este v C ci C++. Pokial viem, tak na skolach je pascal (strednych).
|
|
Registrovaný: 02.03.08 Prihlásený: 02.03.08 Príspevky: 1 Témy: 0 | 0 |
prosim kto mi pomoze mam tu jeden priklad a neviem ho doriesit
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
ja mam tiez priklad a co?spammer
radsej sprav novu temu s tym prikladom kde ho popises .
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
Caute dlhsie som tu nebol, a uz som tu znovu s dalsim problemom.. Ide o triediace algoritmy.
Zadanie: Porovnajte efektívnosť dvoch algoritmov triedenia: Bubble sort a Quick sort. Zhodnoťte, či sa teoretická zložitosť rovná empirickým výsledkom. Tieto dva som si sam zvolil.
Zdrojové kódy:
Bubble sort: malo by to bat asi takto co som zistil:
Kód: void BubbleSort(int data[],int pocet) { int i,j; for(i=1; i<pocet; i++) // fazy triedenia for(j=počet-1; j>=1; j--) // prebublavanie if(data[j]<data[j-1]) SWAP(data[j],data[j-1]); } Quick sort: malo by to bat asi takto co som zistil: Kód: void QuickSort(int data[], int lavy, int pravy) { if i=lavy, j=pravy, p=data[(lavy + pravy)/2]; do{ while(data[i]<p)i++; while(p<data[j])j--; if(i<=j) { SWAP(data[i],data[j]); i++; j--; } }while(i<=j); QuickSort(data,lavy,j); QuickSort(data,i,pravy); }}
Co nato hovorite su to dobre napisane algoritmy?
_________________ Notebook: ASUS N750JV: Windows 8.1 64bit, Intel(R) Core(TM) i7-4700HQ CPU 2.40 GHz, 12GB RAM (DDR3 1600 MHz), NVIDIA GeForce GT 750M 4GB VRAM + HD Graphics 4600, 750 GB HDD (7200 rpm), Blu-ray Reader. Smartphone: Samsung Galaxy S5 mini |
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
Kód: void BubbleSort(int data[],int pocet) { int i,j; for(i=1; i<pocet; i++) // fazy triedenia for(j=počet-1; j>=1; j--) // prebublavanie if(data[j]<data[j-1]) SWAP(data[j],data[j-1]); } zmena Kód: void BubbleSort(int data[],int pocet) { int i,j; for(i=1; i<pocet; i++) // fazy triedenia for(j=počet-1; j>=i; j--) // prebublavanie if(data[j]<data[j-1]) SWAP(data[j],data[j-1]); }
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
Ako sa da merat cas?
Malo by to byt cez kniznicu:
Kód: #include <time.h>
A prikaz bude vyzerat ako?
_________________ Notebook: ASUS N750JV: Windows 8.1 64bit, Intel(R) Core(TM) i7-4700HQ CPU 2.40 GHz, 12GB RAM (DDR3 1600 MHz), NVIDIA GeForce GT 750M 4GB VRAM + HD Graphics 4600, 750 GB HDD (7200 rpm), Blu-ray Reader. Smartphone: Samsung Galaxy S5 mini |
|
Registrovaný: 02.09.05 Prihlásený: 17.11.10 Príspevky: 154 Témy: 1 | 1 |
_________________ Múdry nie je ten, čo veľa vie, ale ten, kto vie, čo je treba. (Thomas Alva Edison) |
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
dik za super straku, ale nenasiel som tam ako by som nieco odmeral (potrebujem stopky ktore my budu merat na tisiciny sekundy....) a este aj potrebujem generator nahodnych cisiel
vsade som sa docital ze sa to roby:
cas1
cas2
vysledok cas2 - cas1
ale neviem ako to ma SPRAVIT
dasa to tu niekde vycitat?
Kód: clock_t c1, c2; cout << "obycajne vyhladavanie: "; c1 = clock(); for (i = 0; i < hladanych; i++) if (NajdiCislo(hladane[i], cisla, pocet) == -1) nenajdenych++; else najdenych++; c2 = clock(); cout << najdenych << " najdenych, " << nenajdenych << " nenajdenych"; cout << " (trvanie: " << (c2 - c1) / CLK_TCK << " s)\n";
_________________ Notebook: ASUS N750JV: Windows 8.1 64bit, Intel(R) Core(TM) i7-4700HQ CPU 2.40 GHz, 12GB RAM (DDR3 1600 MHz), NVIDIA GeForce GT 750M 4GB VRAM + HD Graphics 4600, 750 GB HDD (7200 rpm), Blu-ray Reader. Smartphone: Samsung Galaxy S5 mini |
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
inak tu je zadanie co som dostal co mam spravit a neviem stym pohnut neviem ako to mam pozliepat ten program...
http://www.navrchol.sk/zadanie.pdf
Jednotlive algoritmy mam:
Bubble sort:
Kód: void BubbleSort(int data[],int pocet) { int i,j; for(i=1; i<pocet; i++) // fazy triedenia for(j=počet-1; j>=1; j--) // prebublavanie if(data[j]<data[j-1]) SWAP(data[j],data[j-1]); } Quick sort: Kód: void QuickSort(int data[], int lavy, int pravy) { if i=lavy, j=pravy, p=data[(lavy + pravy)/2]; do{ while(data[i]<p)i++; while(p<data[j])j--; if(i<=j) { SWAP(data[i],data[j]); i++; j--; } }while(i<=j); QuickSort(data,lavy,j); QuickSort(data,i,pravy); }}
chyba mi len funkcia na meranie casu a funkcia generator nahodnych cisel....
_________________ Notebook: ASUS N750JV: Windows 8.1 64bit, Intel(R) Core(TM) i7-4700HQ CPU 2.40 GHz, 12GB RAM (DDR3 1600 MHz), NVIDIA GeForce GT 750M 4GB VRAM + HD Graphics 4600, 750 GB HDD (7200 rpm), Blu-ray Reader. Smartphone: Samsung Galaxy S5 mini |
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
Postupil som uz dalej mam napisany cely kod len mam problem v triediacom algoritme Quick sort:
kde tu moze byt chyba?
Kód: void QuickSort(int data[], int lavy, int pravy) { if(lavy<pravy) { int i=lavy, j=pravy, p=data[(lavy + pravy)/2]; do{ while(data[i]<p)i++; while(p<data[j])j--; if(i<=j) { SWAP(data[i],data[j]); i++; j--; } }while(i<=j); QuickSort(data,lavy,j); QuickSort(data,i,pravy); } }
_________________ Notebook: ASUS N750JV: Windows 8.1 64bit, Intel(R) Core(TM) i7-4700HQ CPU 2.40 GHz, 12GB RAM (DDR3 1600 MHz), NVIDIA GeForce GT 750M 4GB VRAM + HD Graphics 4600, 750 GB HDD (7200 rpm), Blu-ray Reader. Smartphone: Samsung Galaxy S5 mini |
|
Registrovaný: 25.03.08 Prihlásený: 07.02.10 Príspevky: 72 Témy: 9 | 9 |
mrkni moju stranku mam tam jednoduche zdrojaky kde su prikazy na meranie casu aj na generovanie nahodnych cisel.
http://www.danciwo.ic.cz
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
super ale ten Quick sort som tam nenasiel
_________________ Notebook: ASUS N750JV: Windows 8.1 64bit, Intel(R) Core(TM) i7-4700HQ CPU 2.40 GHz, 12GB RAM (DDR3 1600 MHz), NVIDIA GeForce GT 750M 4GB VRAM + HD Graphics 4600, 750 GB HDD (7200 rpm), Blu-ray Reader. Smartphone: Samsung Galaxy S5 mini |
|
Registrovaný: 25.03.08 Prihlásený: 07.02.10 Príspevky: 72 Témy: 9 | 9 |
Marek Adamec píše: super ale ten Quick sort som tam nenasiel
v jazyku C mas preddefinovanu funkciu QUICKSORT, jedine co potrebujes je naprogramovat porovnavaciu funkciu ktore bude vracat 1, 0, -1. a pointer na tuto funkciu musis dat ako parameter tej funkcie.
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
DALSIA ULOHA: Sifrovanie VIGENERE
kdo vie mi poradit ako spravit program na sifrovanie...? zatial som sa dostal sem:
Kód: #include <stdio.h> #include <string.h> #include <stdlib.h> #include<iostream.h> using namespace std;
void zasifruj_vigenere(char text[255], char k[128]) { int i,j,E; for(int i=0;i<strlen(text);i++) for(int j=0;j<strlen(k);j++) E=text[i]+k[j]; // sifrovanie if(E>122) //"navrat na zaciatok ASCII znakov" {E=E-26;} text[i]=char(E); //zapis vysledku ako char }
void desifruj_vigenere(char text[255], char k[128]) { int i,j,D; for(int i=0;i<strlen(text);i++) for(int j=0;j<strlen(k);j++) D=text[i]-k[j]; // desifrovanie if(D<97) //"navrat na koniec ASCII znakov" {D=D+26;} text[i]=char(D); //zapis vysledku ako char }
int main() { char text [255]; // dlzka testu char k [128]; // dlzka kluca int i; int j; int E; int D; cout << "Zasifrovanie a desifrovanie VIGENERE" << endl; cout << "------------------------------------ \n" << endl; cout << "Zadaj text ktory chces zasifrovat:" << endl; cin >> text; cout << "Zadaj kluc podla ktoreho sa bude sifrovat:" << endl; cin >> k; zasifruj_vigenere(text,k); cout << "Zasifrovany text:" <<endl; // vypis textu desifruj_vigenere(text,k); cout << "Desifrovany text:" << endl; // vypis textu
system("pause"); }
HELP !!!
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
tak po dlhsiom trapeni som to uz rozlustil..
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
potrebujem naprogramovat aby mi prograsm porovnal zlomky a usporiadal ich.... a vypisan na monitor... usporiadane.. toto som zacal a neviem sa pohnut dalej..:
Kód: #include <stdlib.h> #include <conio.h> #include <iostream> using namespace std;
void SWAP (float &a, float &b) {float tmp=a;a=b;b=tmp;}
void BubbleSort(float pole[ ], int pocet) {int i,j; for(i=1; i<pocet; i++) for(j=pocet-1; j>=i; j--) if(pole[j]<pole[j-1]) SWAP(pole[j],pole[j-1]);}
struct zlomok {int pocet; int i; float pole; float citatel; float menovatel;};
int main() { int pocet; // pocet zlomkov int i; float citatel[pocet]; // citatel float menovatel[pocet]; // menovatel float pole[pocet]; // zlomok po vydeleni
cout<<"Zadaj pocet zlomkov: "<< endl; cin >> pocet; for(i=1;i<=pocet;i++) { cout<<"ZLOMOK "<<i<<" "<< endl; cout<<"Zadaj citatela: "<< endl; cin >> citatel[i]; cout<<"Zadaj menovatela: "<< endl; cin >> menovatel[i]; pole[i]=citatel[i]/menovatel[i]; // vydelenie zlomku cout<<"vysledok "<<pole[i]<<" "<< endl; } BubbleSort (pole,pocet);
cout<<"USPORIADANIE: "<< endl;
system("pause"); getch(); }
ako dosiahnem aby mi vypisalo usporiadane zlomky z bubble sortu?
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
Do C++ sa moc nerozumiem, ale aspon ti poviem algoritmus... Bubblesort ti usporiada cleny v tom poli, takze ty ich potrebujes len zobrazit... Staci na to klasicky cyklus for... vyskusam to napisat v C(v tomto jazyku teraz pisem po prvykrat v zivote, takze nezarucujem spravnost)
Kód: for (i=1; i<=pocet; i++) {printf("pole[i])"} asi zle, vsak? neviem, pre istotu hodim aj pascal, z toho si to budes vediet lahko odvodit... Kód: for I:=1 to pocet do writeln(Pole[I]);
inak je to pomerne jednoduche, len zobrazis jednotlive cleny pola, ked si vedel napisat Bubblesort tak toto by ti tiez nemalo robit problem
|
|
Registrovaný: 21.05.08 Prihlásený: 04.10.09 Príspevky: 21 Témy: 0 | 0 |
Citácia: for (i=1; i<=pocet; i++) {printf("pole[i])"}
Bohužial, ale je tam chybyčka aj dve. Program s obrazovkov pracuje ako s textovým súborom (nie binárne), takže sa tu vstup a výstup formátuje, čiže namiesto printf("pole[i])") bude printf("%d", pole[i]). Môže byť aj %u pre neznamienkové (je to typ formátu pre dekadické čislo).
Tiež nemusia byť v tomto prípade svorkové zátvorky (je len jeden príkaz v cykle) a i, kt. sa inkrementuje môže začinať od nuly keďže aj nultý prvok v poli má vyhradenú pamäť (pole[0]). A inak ešte chýba bodkočiarka pre ukončenie príkazu.
Inak prečo radšej nepoužiť pre zoradenie funkciu qsort, kt. je aj pomerne rýchla. Funkčný prototyp je void qsort(void *radene_pole, size_t pct_prvkov, size_t vel_prvkov, int (*porov_fcia)(const void *, const void *));
Vyššie už bolo písane, že fcia musí splniť 3 podmienky...
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
ja pouzivam co som sa naucil, len v skole na prednaske, tu je ten program opraveny...
Kód: #include <stdlib.h> #include <conio.h> #include <iostream> using namespace std;
void SWAP (float &a, float &b) {float tmp=a;a=b;b=tmp;}
void BubbleSort(float pole[ ], int pocet) {int i,j; //cout<<"bouble1"<<endl; for(i=1; i<pocet; i++) { for(j=pocet; j>=i; j--) { //cout<<"boubole2"<<endl; // cout<<pole[1]<<"<"<<pole[2]<<endl; // cout<<pole[j]<<"<"<<pole[j-1]<<endl; if(pole[j]<pole[j-1]) { // cout<<"sw"<<endl; SWAP(pole[j],pole[j-1]);} } } } void vypisZlomky(float pole[ ], int pocet) {int i; for(i=1;i<=pocet;i++) cout<<pole[i]<<endl;}
struct zlomok {int pocet; int i; float pole; float citatel; float menovatel;};
int main() { int pocet; // pocet zlomkov int i; float citatel[pocet]; // citatel float menovatel[pocet]; // menovatel float pole[pocet]; // zlomok po vydeleni
cout<<"Zadaj pocet zlomkov: "<< endl; cin >> pocet; for(i=1;i<=pocet;i++) { cout<<"ZLOMOK "<<i<<" "<< endl; cout<<"Zadaj citatela: "<< endl; cin >> citatel[i]; cout<<"Zadaj menovatela: "<< endl; cin >> menovatel[i]; pole[i]=citatel[i]/menovatel[i]; // vydelenie zlomku cout<<"vysledok "<<pole[i]<<" "<< endl; }
BubbleSort (pole,pocet);
cout<<"USPORIADANIE:"<< endl; vypisZlomky (pole,pocet);
system("pause"); getch(); }
|
|
Registrovaný: 19.09.08 Prihlásený: 08.10.11 Príspevky: 12 Témy: 1 | 1 |
nazdar hoši...potreboval by som poradiť...mam za ulohu urobit program , ktorý by mi previedol čislo z desiatkovej sustavy do dvojkovej...jedine čo ma napadlo je delenie modulo...ono ti to vypiše zvyšok po deleni...čiže ked to delim dvoma tak bude iba 1 alebo 0...ale ako urobiť aby mi to delilo dalej? a ako to cele prevratiť? :/ stačia mi napady programček už zrobim diky moc..
|
|
Stránka: 3 z 5
| [ Príspevkov: 128 ] | 1, 2, 3, 4, 5 |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 5 | 790 | 08.07.2014 20:40 XOLOO | | v Kúpim | 0 | 460 | 13.05.2014 18:16 expresado | | v Ponuka práce | 0 | 1331 | 10.05.2016 14:59 evolvsys | | v Assembler, C, C++, Pascal, Java | 4 | 617 | 20.07.2010 12:54 walther | | v Počítačové hry | 10 | 1289 | 07.03.2007 19:22 Spirit | | v Assembler, C, C++, Pascal, Java | 18 | 2469 | 21.05.2010 21:08 Wpegb | | v Assembler, C, C++, Pascal, Java | 17 | 1192 | 25.09.2011 18:14 reDo | | v Assembler, C, C++, Pascal, Java | 8 | 2003 | 19.02.2011 22:46 vendo2 | | v Vymením a darujem | 0 | 475 | 01.04.2019 11:20 tomasteicher | | v Ponuka práce | 1 | 604 | 24.10.2016 15:28 michalesku | | v Assembler, C, C++, Pascal, Java | 1 | 421 | 20.03.2015 22:36 walther | | v ATI/AMD grafické karty | 17 | 1515 | 26.12.2013 11:38 walther | | v Assembler, C, C++, Pascal, Java | 7 | 589 | 02.11.2012 18:47 MasterMatoSK | | v Assembler, C, C++, Pascal, Java | 2 | 872 | 12.03.2009 12:08 Svjatogor | | v Assembler, C, C++, Pascal, Java | 20 | 1864 | 12.02.2011 0:12 The | | v Počítačové hry | 0 | 839 | 25.02.2009 20:18 k0t0l |
|