C/C++

  • Креатор на темата Креатор на темата Драган
  • Време на започнување Време на започнување
Ако може помош да се реши една задача , во последно време многу ме ремети !
- Треба броевите 12345 да се прикажат како 54321 .. Моментално пробувам да ја решам преку Низи па така би било најразбирлво решението ( за мене ) .
Благодарам однапред :)
 
Ако може помош да се реши една задача , во последно време многу ме ремети !
- Треба броевите 12345 да се прикажат како 54321 .. Моментално пробувам да ја решам преку Низи па така би било најразбирлво решението ( за мене ) .
Благодарам однапред :)
Што ќе ти се низи? Ти треба само едно обична функција за превртување на број.

PHP:
void rotate (int &broj)
{
  int prev=0, cifra;
  while (broj>0)
  {
      cifra=broj%10;
      prev = prev*10 + cifra;
      broj/=10;
  }
  broj=prev;
}
 
^Не ми е јасно зошто како параметар на функцијата внесуваш &broj...
 
Што ќе ти се низи? Ти треба само едно обична функција за превртување на број.

PHP:
void rotate (int &broj)
{
  int prev=0, cifra;
  while (broj>0)
  {
      cifra=broj%10;
      prev = prev*10 + cifra;
      broj/=10;
  }
  broj=prev;
}
Хаха , фала многу али работа беше со Низи затоа што сеуште сум почетник во C++ :)
 
^Не ми е јасно зошто како параметар на функцијата внесуваш &broj...
За после функцијата да си остане изротиран. Ова е мој начин на решавање. Може на пример да се направи и функцијава да прима "(int broj)", да враќа "int", а како return да ставиш "return prev;" и на тој начин првичниот број ќе си остане ист како и на почетокот, а изротираниот ќе ти биде за една употреба.

Хаха , фала многу али работа беше со Низи затоа што сеуште сум почетник во C++ :)
Чек малце, во задачата ти се бара да се реши со низи, или ти пошто си почетник мислиш дека треба со низи (т.е. дека така е полесно или не знам....)
 
Да , задачата треба да биде решена со Низи .
За на училиште ми е ...
xD
 
Да се најдат цифрите од природниот број n внесен преку тастатура кои се содржат (т.е. се наоѓаат) во природниот број m внесен преку тастатура. :confused::confused::confused: Во C програмси јазик, ќе може решение ???
 
Имам за задача да направам програма што прима броеви од командна линија и споредува кој од нив е најголем. Треба да користам argc i argv. Од прилика знам да ја напишам оваа програма но незнам како да ја повикам од командна линија во windows, користам code blocks. Ако знае некој дали и како може да се направи ова нека пише.
 
Да се најдат цифрите од природниот број nвнесен преку тастатура кои се содржат (т.е. се наоѓаат) во природниот број mвнесен преку тастатура. :confused::confused::confused:Во C програмси јазик, ќе може решение ???
Код:
int main ()
{
    int n,m,br=0,pom_n,pom_m;
    scanf("%d",&n);
    scanf("%d",&m);
      for(pom_m=m;pom_m;pom_m/=10)
          for(pom_n=n;pom_n;pom_n/=10)
              if(pom_n%10==pom_m%10)
                  {
                      br++;
                          if(br==1)
                                printf("cifrite od n koi sto se sodrzat vo m se:");
                      printf("%d,",pom_n%10);
                      pom_m/=10;
                  }
 
         
    if(br==0&&pom_m==0)
        printf("Ne postojat takvi cifri");
}
Работи ок, само што ако
n= 11223344
m=112234 ќе печати;
4,3,2,2,1,1,

Зошто е така не треба да објаснам oчигледно е :)
 
Може некој да ми каже каде е проблемот во задачава ... да се избори колку зборови има во стрингот ако на почетокот има празно место и помеѓу секој збор има празно место ??

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

int main(int argc, char *argv[])
{
char niza[100];
int i=0,brojac=0;
printf("Vnesi text");
scanf("%s",niza);
while(niza!='\0'){
if(niza==' '){
brojac++;
}
i++;
}
printf("texot ima %d zbora\n",brojac-1);
system("PAUSE");
return 0;
}
 
Aj nekoja dobra dusa da mi pomogne..:D
Da se proveri dali vo nekoj zbor vnesen preku tastatura se javuva odreden podzbor(koj e isto taka vnesen preku tastatura), i ako se javuva da se odredi pozicijata na pocetokot.

Ali da bide pisana vo C.
 
Може некој да ми каже каде е проблемот во задачава ... да се избори колку зборови има во стрингот ако на почетокот има празно место и помеѓу секој збор има празно место ??
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char niza[100];
int i=0,brojac=0;
printf("Vnesi text");
scanf("%s",niza);
while(niza!='\0'){
if(niza==' '){
brojac++;
}
i++;
}
printf("texot ima %d zbora\n",brojac-1);
system("PAUSE");
return 0;
}
Па прво нешто што ми падна во око е scanf, што и да напишеш ќе ти врати 1 збор бидејќи scanf престанвуа да чита кога ќе дојде на празно место. Затоа се користи gets(име на низа).
После не можеш цела низа да споредиш со празно место..треба да направиш еден циклус каде што ќе иде од првиот до последниот елемент на низата и кога ќе најде празно место бројачот ќе се зголеми за 1 :)
Еве нешто вака :
Код:
#include <stdio.h>
#include <string.h>
int main ()
{
    char niza[100];
    int i,brojac=0;

    printf("Vnesi text:\n");
    gets(niza);
    for(i=0;i<strlen(niza)-1;i++)
        if(niza[i]==' '&&niza[i+1]!=' ')/* ako imas 2 prazni mesta da ne gi broi kako 2 zbora */
            brojac++;


    printf("Textot ima %d zbora",brojac);
}
--- надополнето: Dec 8, 2011 11:46 PM ---
Aj nekoja dobra dusa da mi pomogne..:D
Da se proveri dali vo nekoj zbor vnesen preku tastatura se javuva odreden podzbor(koj e isto taka vnesen preku tastatura), i ako se javuva da se odredi pozicijata na pocetokot.

Ali da bide pisana vo C.
Ми тргна денес со низите xD
Код:
#include <stdio.h>
#include <string.h>

int main ()
{
    char text[100],zbor[20];
    int i,j,brojac=0;
    printf("Vnesi text");
    gets(text);
    printf("Vnesi zbor");
    scanf("%s",zbor);
    for(i=0;i<strlen(text)-1;i++)
    {
        brojac=0;
        for(j=0;j<strlen(zbor);j++)
        {
            while(zbor[j]==text[i]&&i<strlen(text))
                {
                    i++;
                    j++;
                    brojac++;

                }
        }
        if(brojac==strlen(zbor))
            printf("pocetokot e so index broj %d\n",i-brojac);

    }


    if(brojac==0)
        printf("zborot ne posti");
}
 
Може некој да ми каже каде е проблемот во задачава ... да се избори колку зборови има во стрингот ако на почетокот има празно место и помеѓу секој збор има празно место ??
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char niza[100];
int i=0,brojac=0;
printf("Vnesi text");
scanf("%s",niza);
while(niza!='\0'){
if(niza==' '){
brojac++;
}
i++;
}
printf("texot ima %d zbora\n",brojac-1);
system("PAUSE");
return 0;
}
Колега оваа задача за домашно ли ни ја даде програмирање ? :)
 
дечки, може ли малку помош :confused:.... треба да се решат со покажувачи..

1. Да се напише функција која на влез ќе добие низа од цели броеви. Функцијата како резултат враќа 1 доколку е строго растечка. Доколку низата не е строго растечка истата да се трансформира во строго растечка и како резултат да врати 2. Во рамките на функцијата забрането е користење средни загради [ ]. Да се напише главна програма која ќе ја провери работата на функцијата.

НАПОМЕНА: трансформацијата на низата во строго растечка да се одвива на следниов начин:

1. Се сортира во растечки редослед;
2. Се острануваат дупликатите;

Пример:
А=[1,2,3,5,10,20] => nizata e predefinirano strogo rastecka

A=[2,3,1,7,6] => nizata ne e strogo rastecka. A=[1,2,3,6,7]

A=[1,2,2,3,5,7,10]=> nizata ne e strogo rastecka. A=[1,2,3,5,7,10]
2. Да се напише функција која на влез добива низа од знаци. Како резултат низата треба да врати колку зборови има во низата. Како збор се смета секоја низа од знаци која е одделена со празно место или со tab (\t). Доколку се појават последователно повеќе празни места или табулари, да се остави празно место или tab а сите останати да се отфрлат. Како разултат на функцијата треба да се врати и колку празни места и табулари биле отфрлени. Да се напише главна програма која ќе ја провери работата на функцијата. Пример:
niza = [ ako gi resis __ site zadaci ke gi _dobies site poeni__ ]
=> niza = [ ako gi resis site zadaci ke gi dobies site poeni__ ] ima 10 zborovi i otfrleni se 7 znaci
 

Kajgana Shop

Back
На врв Bottom