Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
moi Forumaš(ica)

Pridružen/a: 21. 02. 2007. (13:39:09) Postovi: (26)16
Spol: 
|
Postano: 19:25 uto, 16. 6. 2009 Naslov: |
|
|
Mene zanima kako bi radilo pridruživanje u "matrici matrica"? Npr. imam "malu" matricu M[2][2] i želim je staviti u "veliku" maticu A koja se sastoji od puno matrica M.
[code:1]#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef int matrica[2][2];
int main(){
int i,j,m,n, M[2][2];
matrica **A;
scanf("%d", &m);
scanf("%d", &n);
A=(matrica **)malloc(m*sizeof(matrica *));
if(A==NULL){
printf("Nije alokacija dobra");
exit(1);
}
for(i=0;i<m;i++){
A[i]=(matrica *)malloc(n*sizeof(matrica));
if(A[i]==NULL){
printf("Nije alokacija dobra");
exit(1);
}
}
for(i=0;i<2;i++)
for(j=0;j<2;j++){
printf("Unesite element na mjestu %d %d matrice M\n", i+1,j+1);
scanf("%d", &M[i][j]);
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)A[i][j]=M;/*Ne dopušta ovakvo pridruživanje*/
[/code:1]
Mene zanima kako bi radilo pridruživanje u "matrici matrica"? Npr. imam "malu" matricu M[2][2] i želim je staviti u "veliku" maticu A koja se sastoji od puno matrica M.
Kod: | #include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef int matrica[2][2];
int main(){
int i,j,m,n, M[2][2];
matrica **A;
scanf("%d", &m);
scanf("%d", &n);
A=(matrica **)malloc(m*sizeof(matrica *));
if(A==NULL){
printf("Nije alokacija dobra");
exit(1);
}
for(i=0;i<m;i++){
A[i]=(matrica *)malloc(n*sizeof(matrica));
if(A[i]==NULL){
printf("Nije alokacija dobra");
exit(1);
}
}
for(i=0;i<2;i++)
for(j=0;j<2;j++){
printf("Unesite element na mjestu %d %d matrice M\n", i+1,j+1);
scanf("%d", &M[i][j]);
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)A[i][j]=M;/*Ne dopušta ovakvo pridruživanje*/
|
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
moi Forumaš(ica)

Pridružen/a: 21. 02. 2007. (13:39:09) Postovi: (26)16
Spol: 
|
|
[Vrh] |
|
Lafiel Forumaš(ica)


Pridružen/a: 26. 09. 2007. (09:56:59) Postovi: (153)16
Spol: 
|
|
[Vrh] |
|
Luuka Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol: 
Lokacija: Hakuna Matata
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
Tygy Forumaš(ica)


Pridružen/a: 22. 11. 2008. (15:27:08) Postovi: (102)16
|
|
[Vrh] |
|
mdoko Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol: 
Lokacija: Heriot-Watt University, Edinburgh
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 22:22 čet, 18. 6. 2009 Naslov: |
|
|
[quote="Tygy"]jel imamo sutra vježbe i hoće li bit tih masovnih kozultacija? :jez3:[/quote]
Ne. :) Vjezbe su odradjene, a za masovne konzultacije se nitko nije javio (dogovor je bio ako vas se skupi 5 ili vise, da mi javite do srijede (jucer)). :?
Odradih jucer i danas cca 4 sata konzultacije (s ukupno troje studenata), plus hrpa mailova, plus ovdje na Forumu... zakljucio sam da su se javili oni koji su trebali. :)
@mdoko: Genijalno! :D Uopce mi to nije palo na pamet. :oops: Thanx! :)
Tygy (napisa): | jel imamo sutra vježbe i hoće li bit tih masovnih kozultacija?  |
Ne. Vjezbe su odradjene, a za masovne konzultacije se nitko nije javio (dogovor je bio ako vas se skupi 5 ili vise, da mi javite do srijede (jucer)).
Odradih jucer i danas cca 4 sata konzultacije (s ukupno troje studenata), plus hrpa mailova, plus ovdje na Forumu... zakljucio sam da su se javili oni koji su trebali.
@mdoko: Genijalno! Uopce mi to nije palo na pamet. Thanx!
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
mdoko Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol: 
Lokacija: Heriot-Watt University, Edinburgh
|
|
[Vrh] |
|
samanta Forumaš(ica)

Pridružen/a: 14. 01. 2008. (15:07:57) Postovi: (15)16
|
Postano: 0:51 pon, 22. 6. 2009 Naslov: |
|
|
Zanima me zasto ovo ne mogu nikako natjerat da radi,inace to je zad 5.10 u skripti
Zanima me zasto ovo ne mogu nikako natjerat da radi,inace to je zad 5.10 u skripti
Description: |
|
 Download |
Filename: |
5.10.c |
Filesize: |
645 Bytes |
Downloaded: |
88 Time(s) |
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
samanta Forumaš(ica)

Pridružen/a: 14. 01. 2008. (15:07:57) Postovi: (15)16
|
|
[Vrh] |
|
malena Forumaš(ica)

Pridružen/a: 27. 03. 2009. (16:43:42) Postovi: (62)16
Spol: 
Lokacija: ...
|
Postano: 13:55 sri, 24. 6. 2009 Naslov: |
|
|
moze mala pomoc oko nterostucivanja znaka?
tnx
[size=9][color=#999999]Added after 3 minutes:[/color][/size]
[code:1]#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
void nterostruci_znak(char s[], char c, int n){
int i, j=0, k;
char t=tolower(c);
for(i=0; s[i]!='\0'; i++){
if(s[i]==t) j+=n;
}
for(; i>=0; i--){
s[i+j]=s[i];
if(s[i]==t){
k=n;
while(k) s[i+(--k)]=c;
}
}
}
int main(){
char s[45];
int n;
printf("Upisi rijec: ");
scanf("%44s", s);
printf("\nKoliko puta zelis da se ponavlja?\n ");
scanf("%d", &n);
printf("Prije funkcije: %s\n", s);
printf("Nakon funkcije: ");
nterostruci_znak(s, 'p', n);
printf("%s\n", s);
system("PAUSE");
return 0;
}
je li uopce potrebna varijabla k jer ako je n=4 i 3 puta se pojavljuje to slovo 'p' u rijeci popokatepetl, i bi se trebao smanjivati i ici od prethodne duljine niza+12(=j), ali meni prebrise pola stringa. vidim samo puno slova p. :grrr: [/code:1]
[size=9][color=#999999]Added after 2 minutes:[/color][/size]
i ako nije problem...
u cemu je kvaka s ovim zadatkom? treba izbaciti sve znamenke iz niza. probala sam i int c=(int)s[i], ali nista. upisem mate ili mate123 i on se odmah ugasi
[size=9][color=#999999]Added after 38 seconds:[/color][/size]
[code:1]#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
void brisi_znamenke(char s[]){
int i, j, c;
for(i=0; s[i]!='\0'; i++){
if(!isdigit(s[i])) s[j++]=s[i];
}
s[j]='\0';
}
int main(){
char s[10];
printf("Upisi rijec: ");
scanf("%9s", s);
brisi_znamenke(s);
printf("String nakon funkcije: \n");
printf("%s\n", s);
system("PAUSE");
return 0;
}
tnx[/code:1]
moze mala pomoc oko nterostucivanja znaka?
tnx
Added after 3 minutes:
Kod: | #include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
void nterostruci_znak(char s[], char c, int n){
int i, j=0, k;
char t=tolower(c);
for(i=0; s[i]!='\0'; i++){
if(s[i]==t) j+=n;
}
for(; i>=0; i--){
s[i+j]=s[i];
if(s[i]==t){
k=n;
while(k) s[i+(--k)]=c;
}
}
}
int main(){
char s[45];
int n;
printf("Upisi rijec: ");
scanf("%44s", s);
printf("\nKoliko puta zelis da se ponavlja?\n ");
scanf("%d", &n);
printf("Prije funkcije: %s\n", s);
printf("Nakon funkcije: ");
nterostruci_znak(s, 'p', n);
printf("%s\n", s);
system("PAUSE");
return 0;
}
je li uopce potrebna varijabla k jer ako je n=4 i 3 puta se pojavljuje to slovo 'p' u rijeci popokatepetl, i bi se trebao smanjivati i ici od prethodne duljine niza+12(=j), ali meni prebrise pola stringa. vidim samo puno slova p. :grrr: |
Added after 2 minutes:
i ako nije problem...
u cemu je kvaka s ovim zadatkom? treba izbaciti sve znamenke iz niza. probala sam i int c=(int)s[i], ali nista. upisem mate ili mate123 i on se odmah ugasi
Added after 38 seconds:
Kod: | #include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
void brisi_znamenke(char s[]){
int i, j, c;
for(i=0; s[i]!='\0'; i++){
if(!isdigit(s[i])) s[j++]=s[i];
}
s[j]='\0';
}
int main(){
char s[10];
printf("Upisi rijec: ");
scanf("%9s", s);
brisi_znamenke(s);
printf("String nakon funkcije: \n");
printf("%s\n", s);
system("PAUSE");
return 0;
}
tnx |
|
|
[Vrh] |
|
bucko Forumaš(ica)


Pridružen/a: 04. 12. 2007. (20:55:30) Postovi: (A9)16
Spol: 
|
|
[Vrh] |
|
moi Forumaš(ica)

Pridružen/a: 21. 02. 2007. (13:39:09) Postovi: (26)16
Spol: 
|
|
[Vrh] |
|
Milojko Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52) Postovi: (453)16
Spol: 
Lokacija: Hilbertov hotel
|
Postano: 17:29 sri, 24. 6. 2009 Naslov: |
|
|
mislim da su se zeznuli malo.
al, nije mi jasan kod kao takav.
zar to ne dođe na nulti znak, vidi dali je jedan "manji" od drugog i onda vrati +/-1? mislim da bi trebao kod izgledati drukčije:
[code:1]
int stringcompare(char *s, char *t){
int i, raz = 0;
for (i = 0; s[i] != '\0' && t[i] != '\0'; ++i) {
if (s[i]) < t[i]) --raz;
if (s[i] > t[i]) ++raz;
}
if (raz > 0) return 7;
if (raz < 0) return -7;
if (raz == 0) return 0;
}[/code:1]
mislim da su se zeznuli malo.
al, nije mi jasan kod kao takav.
zar to ne dođe na nulti znak, vidi dali je jedan "manji" od drugog i onda vrati +/-1? mislim da bi trebao kod izgledati drukčije:
Kod: |
int stringcompare(char *s, char *t){
int i, raz = 0;
for (i = 0; s[i] != '\0' && t[i] != '\0'; ++i) {
if (s[i]) < t[i]) --raz;
if (s[i] > t[i]) ++raz;
}
if (raz > 0) return 7;
if (raz < 0) return -7;
if (raz == 0) return 0;
} |
_________________ Sedam je prost broj
Bolonja je smeće i to pod hitno treba mijenjat
Zadnja promjena: Milojko; 8:30 pet, 26. 6. 2009; ukupno mijenjano 2 put/a.
|
|
[Vrh] |
|
Luuka Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol: 
Lokacija: Hakuna Matata
|
Postano: 18:31 sri, 24. 6. 2009 Naslov: |
|
|
Ja ne bih reko da su se zeznuli ;)
Naime, unutar for petlje je samo if-else, ona druga 2 if-a su vani ;)
Unutar for-a se provjerava znak po znak, i ako su isti se ide dalje, a ko se razlikuju se nešto vraća.
Ona 2 ifa izvan for-a (koji kao provjeravaju isto) ustvari provjeravaju razliku duljine stringa, jer je '\0'<bilo koji znak ;)
Ako i to sve prođe, vrati se 0, dakle isti su :D
edit: ustvari, sad kad gledam, ne trebaju ova 2 if-a vani ako je && u petlji... to bi trebalo da je ||...
Ja ne bih reko da su se zeznuli
Naime, unutar for petlje je samo if-else, ona druga 2 if-a su vani
Unutar for-a se provjerava znak po znak, i ako su isti se ide dalje, a ko se razlikuju se nešto vraća.
Ona 2 ifa izvan for-a (koji kao provjeravaju isto) ustvari provjeravaju razliku duljine stringa, jer je '\0'<bilo koji znak
Ako i to sve prođe, vrati se 0, dakle isti su
edit: ustvari, sad kad gledam, ne trebaju ova 2 if-a vani ako je && u petlji... to bi trebalo da je ||...
_________________ "Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy 
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 20:15 sri, 24. 6. 2009 Naslov: |
|
|
@malena: Trebas imati [tt]j[/tt] i u unutrasnjoj pretlji, plus krivo brojis broj novih znakova. :?
[code:1]void nterostruci_znak(char s[], char c, int n){
int i, j=0, k;
char t=tolower(c);
for(i=0; s[i]!='\0'; i++){
if(s[i]==t) j+=n-1;
}
for(; i>=0; i--){
s[i+j]=s[i];
if(s[i]==t){
j -= n-1;
k = n-1;
while(k) s[i+j+(--k)]=c;
}
}
}[/code:1]
@malena: Trebas imati j i u unutrasnjoj pretlji, plus krivo brojis broj novih znakova.
Kod: | void nterostruci_znak(char s[], char c, int n){
int i, j=0, k;
char t=tolower(c);
for(i=0; s[i]!='\0'; i++){
if(s[i]==t) j+=n-1;
}
for(; i>=0; i--){
s[i+j]=s[i];
if(s[i]==t){
j -= n-1;
k = n-1;
while(k) s[i+j+(--k)]=c;
}
}
} |
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
markotron Forumaš(ica)

Pridružen/a: 26. 10. 2008. (12:07:29) Postovi: (95)16
Spol: 
Lokacija: Umag
|
|
[Vrh] |
|
|