- Член од
- 15 јуни 2012
- Мислења
- 56
- Поени од реакции
- 4
Можно ли е од Visual C++ да се направи андроид апликација и да се користи на мобилни така и доколку може како е изводливо?
Не може, андроид апликации се прават со Java.Можно ли е од Visual C++ да се направи андроид апликација и да се користи на мобилни така и доколку може како е изводливо?
#include<stdio.h>
#define MAX 10
int main ()
{
int a[MAX][MAX],i,j,m,n,suma,max_suma,min_suma,novo_j,novo_j1,pom;
printf("Vnesi go brojot na redici na matricata:\n");
scanf("%d",&m);
printf("Vnesi go brojot na koloni na matricata:\n");
scanf("%d",&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
}
for(j=0;j<n;j++)
{
suma=0;
for(i=0;i<m;i++)
{
suma+=a[i][j];
}
if(j==0)
{
min_suma=suma;
max_suma=suma;
novo_j=j;
novo_j1=j;
}
if(suma>max_suma)
{
max_suma=suma;
novo_j=j;
}
if(suma<min_suma)
{
min_suma=suma;
novo_j1=j;
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
pom=a[i][novo_j1];
a[i][novo_j1]=a[i][novo_j];
a[i][novo_j]=pom;
}
}
for(i=0;i<m;i++)
{
printf("\n");
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
}
return 0;
}
Задачата ти е супер решена, наоѓањето на колоните ти точно, но грешката ти е во префрлувањето. Овој дел од кодот.Дали може некој да ми каже кај ми е грешката?
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
pom=a[i][novo_j1];
a[i][novo_j1]=a[i][novo_j];
a[i][novo_j]=pom;
}
}
for(j=0;j<n;j++)
{
pom=a[i][novo_j1];
a[i][novo_j1]=a[i][novo_j];
a[i][novo_j]=pom;
}
Истава задача ја решавам и јас, ама на крај ми го менува бројот на редици со бројот на колони. Ако внесам квадратна матрица работи ок. Незнам дали е до CodeBloks, пошо во тој компајлер работам...Ај некој нека проба во друг компајлер, пошо логиката е таа на задачатаЗадачата ти е супер решена, наоѓањето на колоните ти точно, но грешката ти е во префрлувањето. Овој дел од кодот.
Тука треба, за веќе најдените две колони да им ги замениш елементите. Прв со прв.... до н-ти елемент од едната со н-ти од другата колона. Тоа го правиш со еден for циклус.Код:for(i=0;i<m;i++) { for(j=0;j<n;j++) { pom=a[i][novo_j1]; a[i][novo_j1]=a[i][novo_j]; a[i][novo_j]=pom; } }
Ако истата постапка ја повториш уште еднаш, секој елемент ќе го вратиш на истото место. А ти во случајов го повторуваш ова m пати, а m ти е бројот на редици, фактички задачата нема да ти работи за матрици што имаат парен број редици, а за со непарен ќе работи. А за да работи како по условот треба да го тргнеш првиот циклус и тогаш е ок. Кодот горе го заменуваш со
Код:for(j=0;j<n;j++) { pom=a[i][novo_j1]; a[i][novo_j1]=a[i][novo_j]; a[i][novo_j]=pom; }
ти е грешен,novo_j1 и novo_j добиле вредност во претходниот циклус, i е тоа кое треба да се менува.Код:for(j=0;j<n;j++) { pom=a[i][novo_j1]; a[i][novo_j1]=a[i][novo_j]; a[i][novo_j]=pom; }
Кога те цитирав со copy-paste го префрлав кодот, и место внатрешниот сум го избришал надворешниот циклус. Ненамерна грешка. Очигледно е дека циклусот е за i и програмата си лета.ти е грешен,novo_j1 и novo_j добиле вредност во претходниот циклус, i е тоа кое треба да се менува..
int dolzina(char *s,int i)
{
char *p=s;
while(*p!='\0')
p++;
return ((p-s)==i)? i:0;
}
#include<stdio.h>
int main ()
{
int a[100][100],i,j,n,zbirP=0,zbirN=0;
printf("Vnesete ja goleminata na matricata\n");
scanf("%d",&n);
printf("Vnesete gi elementite na matricata\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(i>j)
{
if(a[i][j]%2==0)
zbirP+=a[i][j];
}
else if(i<(n-j-1))
{
if(a[i][j]%2!=0)
zbirN+=a[i][j];
}
}
printf("Parni zbir %d\n",zbirP);
printf("Neparni zbir %d\n",zbirN);
return 0;
}
Moze so edna funcija. Ovoj kod ti treba ?Ај пак јас
Дали може во една рекурзивна функција да се најде обратен број на даден број или мора уште една функција за формирање на број?
int rek (int n,int p) // p=0 vo main funkcijata
{
if (n==0) return p;
return rek(n/10,p*10 + (n%10) )
}