C/C++

A

apidrone

Гостин
Ми треба листа со C++ команди и нивното значење. Моментално знам неколку но ми стана досадно да ги комбинирам истите правејќи глупи програми :blabla: Сакам да научам нешто ново.
А што знаеш и што сакаш да научиш?
 
K

kalimer0

Гостин
А што знаеш и што сакаш да научиш?
Па знам навистина малку, онака знам да напишам 3-4 реда математички функции со неколку променливи и тоа :(
Сакам да научам нешто кое е за некој степен посложено од ова бидејќи јас сум сепак почетник еве ти предложи нешто :)
 

old_School_mk

Програмер, гејмер, psy-trance уживател
Член од
11 август 2009
Мислења
6.137
Поени од реакции
5.891
Ми треба листа со C++ команди и нивното значење. Моментално знам неколку но ми стана досадно да ги комбинирам истите правејќи глупи програми :blabla: Сакам да научам нешто ново.
Стисни ctrl+space во компајлерот и ќе добиеш листа на сите можни команди.
 
Член од
16 јануари 2011
Мислења
11
Поени од реакции
0
First post :)))
Дали некој би можел да ми помогне во врска со пресметка на сумата на членовите на главната дијагонала во матрица во C++. Благодарам за помошта :)))
 
Член од
14 април 2007
Мислења
1.812
Поени од реакции
1.047
First post :)))
Дали некој би можел да ми помогне во врска со пресметка на сумата на членовите на главната дијагонала во матрица во C++. Благодарам за помошта :)))
Изволте
Код:
#include <iostream>
#define max 20
using namespace std;

int main()
{
    int matrica[max][max];
    int n,m,j,i,total;
    cout<<"vnesi gi dimenziite na matricata"<<endl;
    cin>>n>>m;
    cout<<"popolni ja matricata"<<endl;
    for (i=0;i<n;i++)
    for (j=0;j<m;j++)
    {
    cin>>matrica[i][j];
}
total=0;
    for (i=0;i<n;)
    for (j=0;j<m;) {
    
    total=total+matrica[i++][j++];
}   
     cout<<total<<endl;
     system ("pause");
     return 0;
}
 
A

apidrone

Гостин
Чуден код... ја би ставил услов
Код:
if(i==j)
бидејќи индексите на членовите од главната дијагонала се еднакви...
 
Член од
14 јануари 2008
Мислења
1.341
Поени од реакции
162
Не ти треба двојна петља.

Значи:

Код:
int suma = 0;
for(int i = 0; i < n; i++) {
    suma += matrica[i][i];
}
Вака добиваш линеарна наместо квадратна сложеност.

Друго, ти треба една димензија, не две, зашто матрицата мора да биде квадратна
 
Член од
16 јануари 2011
Мислења
11
Поени од реакции
0
Се пишува број на пример 75467. Бараниот резултат е да ги испечати броевите со зборови. седум пет четири... Некоја идеја како да го направам ова со switch?
Пробав со внесување на број, а потоа за секој број посебен case но очигледно дека не е така :)
 
A

apidrone

Гостин
Се пишува број на пример 75467. Бараниот резултат е да ги испечати броевите со зборови. седум пет четири... Некоја идеја како да го направам ова со switch?
Пробав со внесување на број, а потоа за секој број посебен case но очигледно дека не е така :)
А да пробаш да ги одделуваш цифрите цифра по цифра, да си ги сместуваш во помошни променливи, и после тоа да ти печати со зборови?

P.S. Интересна идеја Petkovsky.
 
Член од
14 април 2007
Мислења
1.812
Поени од реакции
1.047
Не ти треба двојна петља.

Значи:

Код:
int suma = 0;
for(int i = 0; i < n; i++) {
    suma += matrica[i][i];
}
Вака добиваш линеарна наместо квадратна сложеност.

Друго, ти треба една димензија, не две, зашто матрицата мора да биде квадратна
Чуден код... ја би ставил услов
Код:
if(i==j)
бидејќи индексите на членовите од главната дијагонала се еднакви...
Чудно ви е дека бројачот се апдејтира во индексите на матрицата? Па добро една задача има милион начини како да се реши. На тој начин можеш многу манипулации да направиш во матрицата.

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

Код:
total=0;
    for (i=n-1;i>=0;)
    for (j=0;j<m;) {
    
    total=total+matrica[i--][j++];
}
 
Член од
14 јануари 2008
Мислења
4.251
Поени од реакции
909
Се пишува број на пример 75467. Бараниот резултат е да ги испечати броевите со зборови. седум пет четири... Некоја идеја како да го направам ова со switch?
Пробав со внесување на број, а потоа за секој број посебен case но очигледно дека не е така :)
Најди го спротивниот број на внесениот број, испечати ги цифрите една по една, напрај switch за секоја цифра од 0 до 9 и во case-от стај да ти ја испечати со зборови.
 
Член од
16 јануари 2011
Мислења
11
Поени од реакции
0
А да пробаш да ги одделуваш цифрите цифра по цифра, да си ги сместуваш во помошни променливи, и после тоа да ти печати со зборови?

P.S. Интересна идеја Petkovsky.
Код:
#include <iostream>
using namespace std;

int main ()
{

	int a;
	int n,e,d,t,c,p,s,ss,o,dd;
	int i;

	cout<<"Vnesi broj: ";
	cin>>n;


	if (o=0)
	i=0;
	if (e=1)
	i=1;
	if(d=2)
	i=2;
	if(t=3)
	i=3;
	if(c=4)
	i=4;
	if(p=5)
	i=5;
	if(s=6)
	i=6;
	if(ss=7)
	i=7;
	if(o==8)
	i=8;
	if(dd=9)
	i=9;

	switch (i) {

	case 1: cout<<"eden";
		break;
	case 2: cout<<"dva";
		break;
	case 3: cout<<"tri";
		break;
	case 4: cout<<"chetiri";
		break;

	}

	system ("pause");
	return 0;

}
Доколку мислеше на ова не работи :( :) :)
 
Член од
14 јануари 2008
Мислења
4.251
Поени од реакции
909
Доколку мислеше на ова не работи :( :) :)
Пробај со спротивен број...

sprotiven=0;
While(broj>0){
cifra=broj%10;
sprotiven=10*sprotiven+cifra;
broj/=10;
}
потоа ги одделуваш цифрите на спротивниот број.
while (sprotiven>0)
{
cifra=sprotiven%10;
switch (cifra)
{
case 1: cout<<"eden"; break;
и така за сите од 0 до 9...
}
sprotiven/=10;
}

И тоа би требало да биде се.
 
A

apidrone

Гостин
LOL! Ова воопшто не е код. Прва грешка, за да нешто споредуваш, ти треба операторот ==, бидејќи со = само доделуваш вредност. Второ, ти само си декларирал променливи, и после им ја проверуваш вредноста, ништо не си направил со нив. Како што пишаа претходно, преврти го бројот, проверувај цифра по цифра за секоја посебно (ова би требало со while), или оддели ги цифрите, па потоа со case печати.
 

Kajgana Shop

На врв Bottom