Стани премиум член и добиј попуст на 2000+ производи и куп други бенефити!

Zadaca od C++

???

read-only
18 декември 2009
9
0
Задачава е решена во C++ па ако може некој да ми помогне како да го напишам во C for циклусот.


string zbor, s1, s2;
int i,y,z;
cout << "Vnesi zbor: ";
cin >> zbor;

for(i=0;i<zbor.length();i++){
for(y=3;y<=zbor.length()-i;y++){
s1 = zbor.substr(i,y);
s2 = "";
for (z=s1.length();z>0; z--){
s2 += s1[z-1];
}
if (s1==s2)
cout << "Podzborot " + s2 + " e palindrom\n";
}
}
 

vik

user
14 април 2007
1.936
32
for и во C ти е исто.
Ако веќе ја преведваш задачата во С тогаш треба да пазиш на стрингојте. Типот string не постои во C, таму стринг се претставва како низа од карактери.
 

???

read-only
18 декември 2009
9
0
Во што е разликата?

for(i=0;i<zbor.length();i++){
for(y=3;y<=zbor.length()-i;y++){
s1 = zbor.substr(i,y);
s2 = "";
for (z=s1.length();z>0; z--){

вакво нешто во Ц нема.
for(i=0;i< до овде е ок, али zbor.length() и s1 = zbor.substr(i,y); до сега немам сретнато во Ц.
Тоа незнам како да го напишам во Ц.
Ако знаеш како е кажи ми :D
 

Xenor

lurker
12 март 2009
812
41
for(i=0;i<zbor.length();i++){
for(y=3;y<=zbor.length()-i;y++){
s1 = zbor.substr(i,y);
s2 = "";
for (z=s1.length();z>0; z--){

вакво нешто во Ц нема.
for(i=0;i< до овде е ок, али zbor.length() и s1 = zbor.substr(i,y); до сега немам сретнато во Ц.
Тоа незнам како да го напишам во Ц.
Ако знаеш како е кажи ми :D
Ами ако ги немаш сретнато во Ц употреби нешто друго , ко на пример strlen.
 

DekoRoker

lurker
12 септември 2009
625
53
Скопје
dejan.at.mk
int brZbor = 0;
for(i=0; *(zbor+i)!='\0';i++){
brZbor++;
}
brZbor ти е вредност колку знаци има стрингот zbor, ама без '\0'. Значи ако во збор имаш 'Александар\0' тој ќе изброи 10 знаци не 11. ако сакаш и тоа да го има после for циклусот зголеми го brZbor за едно и ете ти заедно со NULL. На крај на for циклусот вредностите на brZbor и i ќе бидат исти ама бидејќи i го користиш како бројач во циклус затоа креираш нова brZbor променлива... Ова не беше воопшто тешко нели? Лесно е да се каже не знам.. Друг пат пробај, каде ќе заглавиш барем стави код да видиме до каде си стигнал.. поздрав... :D
 

Xenor

lurker
12 март 2009
812
41
Ех да знаев немаше да прашвам.
ако знаеш како да го напишам во C ова: for(i=0;i<zbor.length();i++){
кажи ми,останатото знам да го напишам.

Е еве ти кажав дека нема lenght во Ц туку има strlen а што ви рекол професорот да ја решавата задачата без тоа да го употребуваш ти треба сам да направиш како ќе го добиеш бројот.
 

Xenor

lurker
12 март 2009
812
41
int brZbor = 0;
for(i=0; *(zbor+i)!='';i++){
brZbor++;
}
brZbor ти е вредност колку знаци има стрингот zbor, ама без ''. Значи ако во збор имаш 'Александар' тој ќе изброи 10 знаци не 11. ако сакаш и тоа да го има после for циклусот зголеми го brZbor за едно и ете ти заедно со NULL. На крај на for циклусот вредностите на brZbor и i ќе бидат исти ама бидејќи i го користиш како бројач во циклус затоа креираш нова brZbor променлива... Ова не беше воопшто тешко нели? Лесно е да се каже не знам.. Друг пат пробај, каде ќе заглавиш барем стави код да видиме до каде си стигнал.. поздрав... :D

Браво да можев не 5 туку 10 ќе ти пишев на рака.
 

???

read-only
18 декември 2009
9
0
#include <stdio.h>
#include <stdlib.h>
char zbor(char);
int main(int argc, char *argv[])
{
char s1, s2;
int i,y,z;
printf ("Vnesi zbor: ");
scanf("%s",zbor);
for(i=0; *(zbor+i)!='\0';i++){
for(y=3;*(zbor+y)!='\0';y++){
s1 = zbor[i,y];
s2 = "";
for (z=s1;z>0; z--){
s2 += s1[z-1];
}
if (s1==s2)
printf("Podzborot %s e palindrom\n");
}
}

system("PAUSE");
return 0;
}


Еве до кај стигнав ама имам некоја грешка :ermm:
 

vik

user
14 април 2007
1.936
32
Баш ме интересира како закличи дека има некоја "грешка"? Дали имаш пробано да компајлираш да видиш што грешки јавва?

За почекот printf и scanf ги корситиш погрешно. И второ zbor прво го декларираш како прототип на финкција, после го вчитваш како стринг, а подолу го корисиш како матрица.

Јас мислам дека прво треба да си расчиштиш некои основни работи, послем да преминиш на решавње задачи.
 

DekoRoker

lurker
12 септември 2009
625
53
Скопје
dejan.at.mk
Браво да можев не 5 туку 10 ќе ти пишев на рака.
Хехехехе... фала фала... само тука ми фали NULL на краевите на примерите овоа не ги испишувало... :)
@??? Дај бе да не почнеме да пцуеме тука не ни доликува, убаво ти вика vik.. Среди си ги работите, види си основата.. Сакаш на коњ да се качиш а уште не си научил пешки да одиш... (извини ако те навредив).
 
членови онлајн
мислења
теми
членови

Последни теми

Последни огласи

IT.mk/market понуда

Бесплатна достава на 3000 производи
На врв Дно