C/C++

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Еве и во C++ Step by Step без користење на библиотеки:

Код:
#include <iostream>

using namespace std;

// Пребаруваш карактер во низа од карактери
// Ако не постои таков карактер враќа -1
// во спротивно ја враќа позицијата на карактерот кој го бараш
int find( char *str, char ch ) {
	int i = 0;
	while( str[i] ) {
		if( str[i] == ch ) return i;
		i++;
	}
	return -1;
}


// Враќа должина на низа од карактери
int length( char *str ) {
	int i = 0;
	while( str[i] ) { i++; }
	return i;
}


// Враќа подстринг
char *substring(char *str, int start, int end) {
	char *temp = new char[end-start+1];
	int j = 0;
	for(int i=start; i<end; i++) {
		temp[j] = str[i];
		j++;
	}
	temp[end-start] = '\0';
	return temp;
}


// Проверува меил
int F(char *email) {
	int at = -1;
	int i = 0;

	while( email[i]) {
		if( email[i] == '@' ) {
			at = i;
			break;
		}
		i++;
	}

	if( at < 0 ) return 0;

	char *name = substring(email, 0, at);
	if( length(name) < 2 || name[at-1] == '.') return 0;

	char *domain = substring(email, at+1, length(email)-1);
	if( length(domain) < 2 || domain[0] == '.' || find(domain, '.') < 0) return 0;

	return 1;
}


int main() {

	cout << F("kire@gmail.com") << endl;
	cout << F(".@yahoo") << endl;
	cout << F("a@.com") << endl;
	cout << F("ana@.") << endl;

	cin.get();
	cin.get();
}
Ако сакаш можеш сите функции да ги ставиш во една :)
 

old_School_mk

Програмер, гејмер, psy-trance уживател
Член од
11 август 2009
Мислења
6.160
Поени од реакции
5.938
Ај и за мене малце помош. Барем логиката да ми ја кажете...
Ми треба bubble sort што прво ќе ги сортира непарните елементи во растечки редослед, а потоа парните во опаѓачки.

Значи од низа: 5, 7, 2, 9, 4, 6, 1, 8 да испадне: 1, 5, 7, 9, 8, 6, 4, 2.

(во случај некој да се реши да ја напише цела функција, еве го bubble sort-от)

Код:
void bubbleSort(int a[], int n)
{
	int i, j;
	int temp, flipped; 
	if (n <= 1) return; 
	for(int i=0; i<n; i++)
	{
		flipped=0;
		for (int j=1; j<n-i; j++)
		{
			if(a[j-1]>a[j])
			{
				temp=a[j-1];
				a[j-1]=a[j];
				a[j]=temp;
				flipped=1;
			}
		}
		if(flipped)
			continue;
	}
}
 
Член од
21 ноември 2009
Мислења
29
Поени од реакции
11
Ај и за мене малце помош. Барем логиката да ми ја кажете...
Ми треба bubble sort што прво ќе ги сортира непарните елементи во растечки редослед, а потоа парните во опаѓачки.

Значи од низа: 5, 7, 2, 9, 4, 6, 1, 8 да испадне: 1, 5, 7, 9, 8, 6, 4, 2.

(во случај некој да се реши да ја напише цела функција, еве го bubble sort-от)

Код:
void bubbleSort(int a[], int n)
{
	int i, j;
	int temp, flipped; 
	if (n <= 1) return; 
	for(int i=0; i<n; i++)
	{
		flipped=0;
		for (int j=1; j<n-i; j++)
		{
			if(a[j-1]>a[j])
			{
				temp=a[j-1];
				a[j-1]=a[j];
				a[j]=temp;
				flipped=1;
			}
		}
		if(flipped)
			continue;
	}
}
Код:
void bubbleSort(int a[], int n) 
{   
     int i, j; 
     int temp, flipped; 
     if (n <= 1) 
     return; 
     for(int i=0; i<n; i++) 
     { 
             flipped=0; 
             for (int j=1; j<n-i; j++) 
             { 
                 if((a[j-1]%2 == 0)) 
                 { 
                              if(a[j]%2==0 && a[j-1]>a[j])
                              {
                                temp=a[j]; 
                                a[j]=a[j-1]; 
                                a[j-1]=temp; 
                                flipped=1;
                              }  
                                 temp=a[j-1]; 
                                 a[j-1]=a[j]; 
                                 a[j]=temp; 
                                 flipped=1; 
                              
                 } 
                 else
                 {
                     if((a[j-1]%2 != 0) && (a[j]%2 != 0) && a[j-1]>a[j])
                     {
                                 temp=a[j-1]; 
                                 a[j-1]=a[j]; 
                                 a[j]=temp; 
                                 flipped=1;
                     }
                 }
           }
     if(flipped) 
     continue; 
     } 
}
 
Член од
21 ноември 2009
Мислења
29
Поени од реакции
11
Код:
void bubbleSort(int a[], int n) 
{   
     int i, j; 
     int temp, flipped; 
     if (n <= 1) 
     return; 
     for(int i=0; i<n; i++) 
     { 
             flipped=0; 
             for (int j=1; j<n-i; j++) 
             { 
                 if((a[j-1]%2 == 0)) 
                 { 
                              if(a[j]%2==0 && a[j-1]>a[j])
                              {
                                temp=a[j]; 
                                a[j]=a[j-1]; 
                                a[j-1]=temp; 
                                flipped=1;
                              }  
                                 temp=a[j-1]; 
                                 a[j-1]=a[j]; 
                                 a[j]=temp; 
                                 flipped=1; 
                              
                 } 
                 else
                 {
                     if((a[j-1]%2 != 0) && (a[j]%2 != 0) && a[j-1]>a[j])
                     {
                                 temp=a[j-1]; 
                                 a[j-1]=a[j]; 
                                 a[j]=temp; 
                                 flipped=1;
                     }
                 }
           }
     if(flipped) 
     continue; 
     } 
}
Да се поправам, вчера некои работи сум оставил двојно да се проверуваат.

Код:
void bubbleSort(int a[], int n) 
{   
     int i, j; 
     int temp, flipped; 
     if (n <= 1) 
     return; 
     for(int i=0; i<n; i++) 
     { 
             flipped=0; 
             for (int j=1; j<n-i; j++) 
             { 
                 if((a[j-1]%2) == 0) 
                 { 
                             if((a[j]%2)==0 )
                              {
                                if(a[j-1]<a[j])
                                {
                                temp=a[j]; 
                                a[j]=a[j-1]; 
                                a[j-1]=temp; 
                                flipped=1;
                                }
                              }  
                              else
                              {
                                 temp=a[j-1]; 
                                 a[j-1]=a[j]; 
                                 a[j]=temp; 
                                 flipped=1; 
                              }
                 } 
                 else
                 {
                     if((a[j]%2 != 0) && a[j-1]>a[j])
                     {
                                 temp=a[j-1]; 
                                 a[j-1]=a[j]; 
                                 a[j]=temp; 
                                 flipped=1;
                     }
                 }
           }
     if(flipped) 
     continue; 
     } 
}
 
Член од
4 јануари 2011
Мислења
6
Поени од реакции
0
Ќе ве замолам ако може да ми помогнете за овие 4 задачи кој ми се навистина потребни за да ги однесам за домашно , а абер си немам како се решаваат. Програмски јазик Ц++

Задача 1 :

• Напиши програма која содржи процедури
за внес, печатење и процедура која ги
пресметува збирот и производот на
елементите на низа броеви. Во main()
демонстрирај ги процедурите.

Задача 2:

• Да се соберат две дводимензионални низи
(матрици) со исти димензии со користење на
подалгоритам за собирање на две матрици. За
внесување и печатење на матриците да се
искористат соодветните процедури од Задача
1.
• Збир на две матрици A и B е матрица C чии
елементи се пресметуваат преку:
c[j]=a[j]+b[j]

Задача 3:

• Да се напише рекурзивна функциja за
пресметување вредност на функцијата xn.
Во main() да се внесат броевите x и n и да се
повика рекурзивната функција. Пример:
Vnesi x: 2
Vnesi n: 3
2 na stepen 3 iznesuva 8

Задача 4:

• Да се напише програма која содржи функциja
за одредување колку пати се јавува некој
знак во текстуална низа.
Пример:
Vnesi tekstualna niza:
Sekoja C++ programa mora da sodrzi funkcija main().
Vnesi go znakot sto se bara: a
Znakot a se pojavuva 5 pati vo recenicata.
 
A

apidrone

Гостин
Задача 3:

• Да се напише рекурзивна функциja за
пресметување вредност на функцијата xn.
Во main() да се внесат броевите x и n и да се
повика рекурзивната функција. Пример:
Vnesi x: 2
Vnesi n: 3
2 na stepen 3 iznesuva 8
Код:
#include <iostream>
#include <cstdlib>
using namespace std;

int stepen(int,int);
int main()
{
    int a,b;
    cout << "Vnesi gi osnovata i stepenot: " << endl;
    cin >> a >> b;
    cout << a << " na stepen " << b << " e " << stepen(a,b) << endl;
    system("pause");
    return 0;
}

int stepen(int x, int y)
{
    if(y==0) return 1;
    return x*stepen(x,y-1);
}
Другите сам.
 
Член од
4 јануари 2011
Мислења
6
Поени од реакции
0
Код:
#include <iostream>
#include <cstdlib>
using namespace std;

int stepen(int,int);
int main()
{
    int a,b;
    cout << "Vnesi gi osnovata i stepenot: " << endl;
    cin >> a >> b;
    cout << a << " na stepen " << b << " e " << stepen(a,b) << endl;
    system("pause");
    return 0;
}

int stepen(int x, int y)
{
    if(y==0) return 1;
    return x*stepen(x,y-1);
}
Другите сам.
Фала за задачава. Но ако можеш да го најдеш решението и на другите би ти бил многу благодарен. Затоа што овие нови лекции ми се и не бев на часови и сега пробувам сам да научам па да видам како се решени точно па ќе ги пререшувам ... за да знам барем како иде редоследот. Фала однапред.
 
Член од
14 април 2007
Мислења
1.812
Поени од реакции
1.047
Ќе ве замолам ако може да ми помогнете за овие 4 задачи кој ми се навистина потребни за да ги однесам за домашно , а абер си немам како се решаваат. Програмски јазик Ц++

Задача 1 :

• Напиши програма која содржи процедури
за внес, печатење и процедура која ги
пресметува збирот и производот на
елементите на низа броеви. Во main()
демонстрирај ги процедурите.

Задача 2:

• Да се соберат две дводимензионални низи
(матрици) со исти димензии со користење на
подалгоритам за собирање на две матрици. За
внесување и печатење на матриците да се
искористат соодветните процедури од Задача
1.
• Збир на две матрици A и B е матрица C чии
елементи се пресметуваат преку:
c[j]=a[j]+b[j]

Задача 3:

• Да се напише рекурзивна функциja за
пресметување вредност на функцијата xn.
Во main() да се внесат броевите x и n и да се
повика рекурзивната функција. Пример:
Vnesi x: 2
Vnesi n: 3
2 na stepen 3 iznesuva 8

Задача 4:

• Да се напише програма која содржи функциja
за одредување колку пати се јавува некој
знак во текстуална низа.
Пример:
Vnesi tekstualna niza:
Sekoja C++ programa mora da sodrzi funkcija main().
Vnesi go znakot sto se bara: a
Znakot a se pojavuva 5 pati vo recenicata.


Еве ти ја втората, и другите се лесни, ама ме мрзи сега.
Код:
#include <iostream>
#include <iomanip>
#define max 20
using namespace std;

int main()
{
    int arrayA[max][max], arrayB[max][max], arrayC[max][max];
    int i,j,n,m,x,y;
    cout<<"Vnesi gi dimenziite na prvata matrica"<<endl;
    cin>>n>>m;
    
    cout<<"popolni ja prvata matrica"<<endl;
    for (i=0;i<n;i++)
    for (j=0;j<m;j++)
    {
        cin>>arrayA[i][j];
    }
    
    cout<<"vnesi gi dimenziite na vtorata matrica"<<endl;
    cin>>x>>y;
    cout<<"popolni ja vtorata matrica"<<endl;
    for (i=0;i<x;i++)
    for (j=0;j<y;j++)
    {
        cin>>arrayB[i][j];
    }
    
        if ((n!=x) || (m!=y)) 
        
        cout<<"fail"<<endl;
        
      
        else {
       
       
            cout<<"novata matrica e"<<endl;
                       
                for (i=0;i<n;i++)
                for (j=0;j<m;j++)
                {
                    arrayC[i][j]=0;
                    arrayC[i][j]=arrayC[i][j]+arrayB[i][j]+arrayA[i][j];
                } 
                
                   for (i=0;i<n;i++)
                   {
                   for (j=0;j<m;j++)
                   
                       cout<<setw(6)<<arrayC[i][j];
                       cout<<endl;
                   }
                   system ("pause");
                   return 0;
               } }
 
Член од
4 јануари 2011
Мислења
6
Поени од реакции
0
Еве ти ја втората, и другите се лесни, ама ме мрзи сега.
Код:
#include <iostream>
#include <iomanip>
#define max 20
using namespace std;

int main()
{
    int arrayA[max][max], arrayB[max][max], arrayC[max][max];
    int i,j,n,m,x,y;
    cout<<"Vnesi gi dimenziite na prvata matrica"<<endl;
    cin>>n>>m;
    
    cout<<"popolni ja prvata matrica"<<endl;
    for (i=0;i<n;i++)
    for (j=0;j<m;j++)
    {
        cin>>arrayA[i][j];
    }
    
    cout<<"vnesi gi dimenziite na vtorata matrica"<<endl;
    cin>>x>>y;
    cout<<"popolni ja vtorata matrica"<<endl;
    for (i=0;i<x;i++)
    for (j=0;j<y;j++)
    {
        cin>>arrayB[i][j];
    }
    
        if ((n!=x) || (m!=y)) 
        
        cout<<"fail"<<endl;
        
      
        else {
       
       
            cout<<"novata matrica e"<<endl;
                       
                for (i=0;i<n;i++)
                for (j=0;j<m;j++)
                {
                    arrayC[i][j]=0;
                    arrayC[i][j]=arrayC[i][j]+arrayB[i][j]+arrayA[i][j];
                } 
                
                   for (i=0;i<n;i++)
                   {
                   for (j=0;j<m;j++)
                   
                       cout<<setw(6)<<arrayC[i][j];
                       cout<<endl;
                   }
                   system ("pause");
                   return 0;
               } }
Фала ти за задачава. Ако не те мрзи до утре ако можеш напиши ги и другите задачи. Фала однапред.
 
Член од
14 јануари 2008
Мислења
4.251
Поени од реакции
909
^ Треба со посебни функции за внесување, печатење и собирање да се реши, во main треба само да се повикаат. Така да нема да ти ја признаат вака ако ја однесеш. :)
 
Член од
4 јануари 2011
Мислења
6
Поени од реакции
0
^ Треба со посебни функции за внесување, печатење и собирање да се реши, во main треба само да се повикаат. Така да нема да ти ја признаат вака ако ја однесеш. :)
Пријателе ај ако имаш време и ако знаеш како се решаваат ако можеш да ми решиш некоја задача .. затоа што навистина ми требаат итно :S
 
Член од
14 април 2007
Мислења
1.812
Поени од реакции
1.047
^ Треба со посебни функции за внесување, печатење и собирање да се реши, во main треба само да се повикаат. Така да нема да ти ја признаат вака ако ја однесеш. :)
Не пишува дека треба таа да е со функции, освен под тоа подалгоритам ако не се подразбира функција.

Пријателе ај ако имаш време и ако знаеш како се решаваат ако можеш да ми решиш некоја задача .. затоа што навистина ми требаат итно :S
Пријателе, а јас да ти дадам еден пријателски совет. Седни и учи оти ќе ти треба.Која е поентата ние да ти ги решиме.Барем кажи каде ќе заглавиш, ќе ти помогнеме.
 
Член од
4 јануари 2011
Мислења
6
Поени од реакции
0
Не пишува дека треба таа да е со функции, освен под тоа подалгоритам ако не се подразбира функција.



Пријателе, а јас да ти дадам еден пријателски совет. Седни и учи оти ќе ти треба.Која е поентата ние да ти ги решиме.Барем кажи каде ќе заглавиш, ќе ти помогнеме.
Па да секако дека ке седнам да учам . Ама како што напишав на овие часови не бев и ништо не ми е јасно и сеа барам некој од вас ако може да ми ги реши овие задачи за да разглобам убаво како се решени па да знам после сам да ги решавам сличните задачи. Иначе вака на нерешени неможам да видам никако како да ги решам .. мислам ме сваќаш што сакам да кажам.
 
Член од
14 јануари 2008
Мислења
4.251
Поени од реакции
909
Не пишува дека треба таа да е со функции, освен под тоа подалгоритам ако не се подразбира функција.
Па да, ја под подалгоритам подразбирам функција, дали процедура, рекурзија или нешо друго тоа си е остаено на програмерот да си избере.
Барем на пмф така ме учеа. :)
А за печатењето и внесувањето пишува да се искористат процедурите од првата задача, значи два процедури (функции шо не враќаат вредност т.е. void) + некоја функција за збирот = 3 функции.
Пријателе, а јас да ти дадам еден пријателски совет. Седни и учи оти ќе ти треба.Која е поентата ние да ти ги решиме.Барем кажи каде ќе заглавиш, ќе ти помогнеме.
+1

Џабе ако ти ги решам (а неам ни време за тоа) ако те прашаат да ги објасниш нема да знаеш.

--- надополнето ---

Па да секако дека ке седнам да учам . Ама како што напишав на овие часови не бев и ништо не ми е јасно и сеа барам некој од вас ако може да ми ги реши овие задачи за да разглобам убаво како се решени па да знам после сам да ги решавам сличните задачи. Иначе вака на нерешени неможам да видам никако како да ги решам .. мислам ме сваќаш што сакам да кажам.
Ќе ти пратам линк на пп со милион решени задачи во ц++ од цел семестар, главно се сличен тип како овие.
 

Kajgana Shop

На врв Bottom