C/C++

DarkWalker

Think globaly , Act Localy!!!
Член од
4 февруари 2006
Мислења
1.209
Поени од реакции
70
Кажете некоја добра книга за C/C++, за да ја download-ирам или да ја купам.
Јас ја имам книгата C++ For Dumles од авторот Stephen Randy Davis .. Книгата е на англиски јазик , 435 страни , ја користиме на факултетот , па ако разбираш добро англиски 70% од програмскиот јазик ке го научиш ... Книгата ја имам во ПДФ формат , кој е заинтересиран нека ми пиши пм да му ја дадам ... поздрав
 

DarkWalker

Think globaly , Act Localy!!!
Член од
4 февруари 2006
Мислења
1.209
Поени од реакции
70
Еве за почетници нешто посложено ама лесно ...

Ова е програма која ке креира низа од 10 елементи , ја потполнува со вредности внесени од корисникот и ги печати првиот и седмиот член ...

Код:
#include <iostream>
using namespace std;

int main(){
    
    int niza[10];
    cout<<"Vnesete 10 celi broevi:"<<endl;
    int i;

    //inicijaliziranje(polnenje na nizata)
    for(i=0;i<10;i++)
{

     cout<<"Vnesete vrednost za clenot - "<<"["<<i<<"] :";  

      cin>>niza[i];                       

    }

     cout<<"Vrednosta na prviot[0] i sedmiot[6] clen e: "<<(niza[0]+niza[6])<<endl;  

system("PAUSE");
    return 0;
}
 
Член од
9 август 2007
Мислења
261
Поени од реакции
56
Alien: Mojata pomosh za tebe: wchar_t.

Okay momci, ako sakate da nauchite jazik pravilno, nikogash ne zemajte knigi
shto sodrzhat "* for idiots, * for dummies, * in N hours, ..., ..."
^ Opshto pravilo.

Tie shto gi interesira C (ne znam koj reche deka ne treba da se uchi C.. ali so srekja so takvoto razmisluvanje:) ) razgledajte:
The C Programming Language, '78
I '88 vtoroto izdanije (zadolzhitelno za seriozni programeri).
Istoto vazhi i za C++:
The C++ Programming language. Neka tie vi sluzhat za pochetok,
a ako nekoj gi pominal tie, a ne znae na kade da se nasochi, neka projavi interes i ke mu bide pomognato.
 

OFcp&&&

МИСЛИТЕЛ
Член од
18 ноември 2007
Мислења
239
Поени од реакции
0
Може некој да ми каже линк од кој можам да го спуштам С++?
 
Член од
24 август 2007
Мислења
761
Поени од реакции
15
Програма за креирање на “змија“ во матрица (квадратна).
Пример:
1 2 3
6 5 4
7 8 9

Код:
#include <iomanip>
#include <iostream>

using namespace std;

int main()
{   
    int n;
    cout<<"Vnesete gi dimenziite ma matricata (kvadratna matrica)"<<endl;
    cin>>n;
    
    int A[n][n];
    int i,j;
    int broj=1;
    
    for (i=0; i<n; i++)
         if (i%2==0)
             for (j=0; j<n; j++)
                  A[i][j]=broj++;
         else
             for (j=n-1; j>=0; j--)
                  A[i][j]=broj++;
                  
    for (i=0; i<n; i++)
         {
         for (j=0; j<n; j++)
              cout<<setw(3)<<A[i][j];
         cout<<endl;
         }     
       
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
Член од
24 август 2007
Мислења
761
Поени од реакции
15
Програма за множење на 2 матрици 3x3.

Код:
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    float a[3][3],
          b[3][3],
          c[3][3];
          
     int   i=0, j=0, o=0;   // brojaci za redovi i koloni 
    
    // postavuvanje na 0 vo matricite A, B i C
     for (i=0; i<=2; i++)
         for (j=0; j<=2; j++)
              {
               a[i][j]=0; 
               b[i][j]=0;
               c[i][j]=0;
              } 
    
    // vnesuvanje na vrednosti na matrcata A
    
    cout<<"Vnesete gi elementite na matricata A= \n"<<endl;
    
    for (i=0; i<=2; i++)
         for (j=0; j<=2; j++)
         cin>>a[i][j];
    cout<<endl;
    
    // pecatenje na vrednostite na elementite na matricata A
    
    cout<<"Matrica A= "<<endl;
    
     for (i=0; i<=2; i++)
         {    
         for (j=0; j<=2; j++)
         cout<<"\t"<<setw(3)<<a[i][j];
         cout<<endl;    
         }
         
     cout<<endl;
        
    // vnesuvanje na vrednosti na matrcata B
    
    cout<<"Vnesete gi elementite na matricata B= \n"<<endl;
    
    for (i=0; i<=2; i++)
         for (j=0; j<=2; j++)
         cin>>b[i][j];
    cout<<endl;
   
     // pecatenje na vrednostite na elementite na matricata B
    
    cout<<"Matrica B= "<<endl;
    
     for (i=0; i<=2; i++)
         {    
         for (j=0; j<=2; j++)
         cout<<"\t"<<setw(3)<<b[i][j];
         cout<<endl;    
         }
         
     cout<<endl;
            
    // mnozenje na matricite A i B i zapis na proizvodot vo matrica C
    
      for (i=0; i<=2; i++)
          for (o=0; o<=2; o++)
              for(j=0; j<=2; j++)
                    c[i][o]=c[i][o]+a[i][j]*b[j][o];
    
    
      // pecatenje na vrednostite na elementite na matricata B
    
     cout<<"\nMatrica C=A*B "<<endl;
    
     for (i=0; i<=2; i++)
         {    
         for (j=0; j<=2; j++)
         cout<<"\t    "<<setw(3)<<c[i][j];
         cout<<endl;    
         }
    cout<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
Член од
24 август 2007
Мислења
761
Поени од реакции
15
Еве за почетници нешто посложено ама лесно ...

Ова е програма која ке креира низа од 10 елементи , ја потполнува со вредности внесени од корисникот и ги печати првиот и седмиот член ...

Код:
#include <iostream>
using namespace std;

int main(){
    
    int niza[10];
    cout<<"Vnesete 10 celi broevi:"<<endl;
    int i;

    //inicijaliziranje(polnenje na nizata)
    for(i=0;i<10;i++)
{

     cout<<"Vnesete vrednost za clenot - "<<"["<<i<<"] :";  

      cin>>niza[i];                       

    }

     cout<<"Vrednosta na prviot[0] i sedmiot[6] clen e: "<<(niza[0]+niza[6])<<endl;  

system("PAUSE");
    return 0;
}
Го печати збирот, не елементите посебно ...
 
Член од
24 август 2007
Мислења
761
Поени од реакции
15
Програма за конвертирање на внесен текст кој содржи САМО мали букви и да ги конвертира во големи.
Програмава конвертира само мали букви во големи, ако внесете бројка ќе испадне некој знак или ако внесете голема буква повторно нешто трето ќе излезе. Колку за демонстрација е супер.

Код:
#include <string>
#include <iostream>
#include <iomanip>

using namespace std;

string conv(string text)
{
       int l,i;
      
       l=text.length();
       
       for (i=0; i<l; i++)
            text.at(i)=char(int(text.at(i))-32);
       return text;
}

int main()
{
    
    string text;
    
    cout<<"Vnesete text "<<endl;
    cin>>text;
    
    text=conv(text);
    cout<<text<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
Член од
24 август 2007
Мислења
761
Поени од реакции
15
Програма за одземање на првата цифра од внесен број со неговата последна како и печатење на резултатот.

Код:
#include <iostream>

using namespace std;

int main()
{
    int broj, posledna_cifra=0, cifra=0, razlika;
    cout<<"Vnesi broj"<<endl;
    cin>>broj;
    
    //odeluvam posledna cifra
    posledna_cifra=broj%10;
    
    //dobivanje na prvata cifra. brojot postojano ke go namaluvam za edna cifra
    // i ke ja dodeluvam poslednata cifra na promenlivata cifra.
    //pr> broj=12345
    //              1. cifra=5, broj=1234 (namlaiv za edna cifra)
    //              2. cifra=4, broj=123
    //              3. cifra=3, broj=12
    //              4. cifra=2, broj=1
    //              5. cifra=1, broj=0 (ovde ja imam odeleno prvata cifra
    // znaci ke delam so 10 i ke odeluvam se dodeka ne gi skratam brojot do 0, a ->
    //-> so toa celo vreme so % ke ja odeluvam poslednata cifra na brojot. ->
    //-? brojot se namaluva za edna cifra pa prvata cifra ke stane posledna ->
    //->t.e. brojot ke stane ednocifren

    while(broj>0)
    {
     cifra=broj%10;
     broj=broj/10;
         
    }
    
    //gi odzemam prvata cifra koja ja izdvoi vo while cikluot so poslednata -> 
    //-> cifra koja ja izdvoiv pred while ciklusot 
    razlika=cifra-posledna_cifra;
    
    cout<<"Razlikata e "<<razlika<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
Член од
24 август 2007
Мислења
761
Поени од реакции
15
Програма за проверување дали внесен ПЕТОЦИФРЕН број се состои од 5 исти цифри.
- Ако се внесе број кој не е петоцифрен ќе се побара повторно внесување.
- При завршено пресметување прашува дали повторно да се внесе број.

Код:
/* DSSP so koja ke se proveruva dali eden petocifren broj
 * se sostoi od 5 isti cifri. 
 * Brojor 0 se smeta kako 00000 !, za drugite broevi ne vazi ! 
 - skrstevsky */

#include <iostream>
#include <string>

using namespace std;

int main()
{
    int     broj=0, brz=0,
            e=0,     // edinici
            d=0,     // desetki
            s=0,     // stotki
            i=0,     // iljadarki
            di=0;    // desetiljadarki
    
    string  again;
    
    nt:              // labela, se vrakam ovde ako brojot ne e petocifren
                     // i ako se izbere povtorno vnesuvanje na broj
                     
    cout<<"Vnesete petocifren broj: "<<endl;
    cout<<"\t\t\t ";
    cin>>broj;  
        
    if ((broj/1000>99)||(broj/1000<10))
{
       if  (broj!=00000)
       { 
       cout<<"\nVneseniot broj ne e petocifren !\n"<<endl;
       goto nt;
       }
       else goto done;
}
    else             // if (((broj/1000<99)&&(broj/1000>10))||(broj==00000))
{   
    done:            // labela, prodolzuvam ovde ako brojot e petocifren ili 0
    
    brz=broj; 
    cout<<endl;
    
    e=broj%10;        // edinici, odvoeni
    
    broj/=10;         // od 5 na 4 cifri
    
    d=broj%10;        // desetki, odvoeni
    
    broj/=10;         // od 4 na 3 cifri
    
    s=broj%10;        // stotki, odvoeni
    
    broj/=10;         // od 3 na 2 cifri
    
    i=broj%10;        // iljadarki, odvoeni
    
    broj/=10;         // od 2 na 1 cifra 
    
    di=broj%10;       // desetiljadarki, odvoeni
    
    cout<<"Brojot "<<brz<<" se sostoi od slednite cifri: "<<endl<<endl;
    cout<<di<<" "<<i<<" "<<s<<" "<<d<<" "<<e<<endl<<endl;
    
    if (((e==d)&&(s==i)&&(di==e)&&(d==s))||(0==e-d-s-i-di))
{
        cout<<"Brojot sodrzi 5 isti cifri"<<endl;
        ca:
        cout<<"\nVnesi povtorno podatoci ? (Y,N): ";
        cin>>again;
        if ((again=="Y")||(again=="y")||(again=="1")){
           cout<<"\n";
           goto nt;                    }       // vnesi povtorno broj
        else                           {                         
             if ((again=="N")||(again=="n")||(again=="0")){
           cout<<endl<<endl;
           goto dn;                         }  // izlezi od programata
             if ((again!="N")&&(again!="n")&&(again!="Y")&&(again!="y")){
           cout<<"\nGreska pri vnesuvanjeto, vnesi Y ili N "<<endl;
           goto ca;                         }   // povtorno izberi sto ponatamu                         }                                                
                                       }   
}           
    else // {
        cout<<"Brojot ne sodrzi 5 isti cifri"<<endl<<endl;
        goto ca;
         // }
}       
    dn:
    system("PAUSE");
 /* dn: moze da stoi ovde. Po izbor za NEvnesuvanje na novi podatoci da izleze
  * od programta*/ 
    return 0;
}
 
Член од
24 август 2007
Мислења
761
Поени од реакции
15
Програма која за внесен број го печатио неговиот обратен. Пример:
Влез: 123456
Излез 654321 (во излезот е подесено да се печатат и цифрите во нов ред)

Код:
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int     broj;                   // broj koj se vnesuva
    float   obraten=0.0;            // broj obraten od vneseniot
    int     br_cifri=0;             // broj na cifri na vneseniot broj
    int     pom;                    // pomosna promenilva ednakva na broj
    int     i;                      // opst brojac
    int     cifra;                  // cifra, sekogas poslednata
    int     iobraten=0;             //   integer, cel broj od obratniot bidejki ->
                                    //-> obtaen e double, a zadacave ne raboti ->
                                    //-> so integer !
    
    // vnesuvanje na brojot
    cout<<"Vnesi broj"<<endl;
    cin>>broj;
    pom=broj;
    
    cout<<endl;
    
    // odreduvanja na brojot na cifri    
    while(broj>0)
    {
     broj=broj/10;
     br_cifri++;
    }
       
    broj=pom;   // vrakjanje na vrednosta na promenlivata broj
    
    // dobivanje na obratniot broj od vneseniot
    for (i=br_cifri; i>0; i--)
    {
     cifra=broj%10;
     broj=broj/10;
     obraten=obraten+cifra*pow(10,double(i-1));
    }
    
    iobraten=int(obraten);  // iobraten ke dobie integer vrednost od obraten ->
                            //-> bidejki obraten e double, a porgramata ne ->
                            //-> raboti so float, operatorot ne vazi double i ->
                            //-> float

    // dobivanje i pecatenje na cifrite na obratniot broj ->
    //-> t.e po redosled od levo kon desno od prvicniot vnesen broj
    while(iobraten)
    {
     cifra=iobraten%10;
     iobraten=iobraten/10;
     cout<<cifra<<endl;   
    }   
    
    cout<<"\n"<<obraten<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Мислам дека е доволно има коментари измеѓу кодот за да се знае што сакал да каже авторот. :helou:

Има други да пастираа код или ноу ?
 
Член од
20 декември 2007
Мислења
10
Поени од реакции
0
Дечки ви ги гледам програмиве и ви се чудам, па на секој информатички факултет во прва година ќе ви дадат книга и од ваков тип програми ќе најдете милион.
Не ми се ни спомнува тоа дека на интернет можете да најдете милион примери на вакви програми, кои само ќе ви бидат на англиски.
Не мора да се восхитувате многу на програмиве туку едноставно побарајте од некое ваше другарче кое е прва година на некој информатички факултет книга и завршете си сами работа.
Ако некаде наидете на посложен проблем од овие погоре побарајте ме преку пп
 
Член од
24 август 2007
Мислења
761
Поени од реакции
15
Дечки ви ги гледам програмиве и ви се чудам, па на секој информатички факултет во прва година ќе ви дадат книга и од ваков тип програми ќе најдете милион.
Не ми се ни спомнува тоа дека на интернет можете да најдете милион примери на вакви програми, кои само ќе ви бидат на англиски.
Не мора да се восхитувате многу на програмиве туку едноставно побарајте од некое ваше другарче кое е прва година на некој информатички факултет книга и завршете си сами работа.
Ако некаде наидете на посложен проблем од овие погоре побарајте ме преку пп
Факултетите, поточно професорите забрануваат скриптите да се шират надвор од факултетот... а и не е важно тоа не е пречка....
Некој сакал да научи C или C++ па прашал овде иако има тема 1 или 2 слични на оваа..... и што има врска ако некои оставиле програма овде ? Таман работа ако сите си кажуваме ако наидеме на проблем или ако сакаме нешто да научиме преку пп, ќе нема потреба од темиве а и од форумов општо. Ќе можеме на некоја група по е-маил (јаху или гугл) да си кажуваме.

а и не е лошо да се спои со друга тема од истиот или многу сличен тип.
 

Kajgana Shop

На врв Bottom