alexprom65
22-12-2014, 19:31
Доброго времени суток!
Нужно написать программу, которая принимает на вход размеры массива с его значениями и записывает в вектор номера столбцов, все элементы которых являются числовыми палиндромами. Код написал, но когда нужно вывести этот вектор, вместо ожидаемых значений, какими бы ни были элементы, выводится одно и тоже число: 2293344. Проверял много раз, проходился по коду сам, но всё равно. В чём может быть дело?
#include <stdio.h>
#include <math.h>
int main()
{
int m,n,i,j,k,y,dec,cell,digits,count;
printf("\nType number of strings ");
scanf("%d",&m);
printf("\nType number of columns ");
scanf("%d",&n);
int a[m][n],b[n];
printf("\nType elements of massive\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<m;i++)
{
printf("\n");
for(j=0;j<n;j++)
printf("%10d\t",a[i][j]);
}
k=0;
for(j=0;j<n;j++);
{
count=0;
for(i=0;i<m;i++)
{
cell=a[i][j];
digits=0;
while(cell!=0)
{
cell=cell/10;
digits++;
}
cell=a[i][j];
dec=(pow(10,(digits-1)));
while(cell>0)
{
if((cell/dec)==(cell%10))
{
cell=(cell%dec)/10;
digits=digits-2;
dec=(pow(10,(digits-1)));
}
else break;
}
if(cell==0)
count++;
}
if(count==m)
{
b[k]=j+1;
k++;
}
}
printf("\nVector is \n");
for(i=0;i<=k;i++)
printf("%6d\t",&b[i]);
scanf("%d",i);
return 0;
}
Нужно написать программу, которая принимает на вход размеры массива с его значениями и записывает в вектор номера столбцов, все элементы которых являются числовыми палиндромами. Код написал, но когда нужно вывести этот вектор, вместо ожидаемых значений, какими бы ни были элементы, выводится одно и тоже число: 2293344. Проверял много раз, проходился по коду сам, но всё равно. В чём может быть дело?
#include <stdio.h>
#include <math.h>
int main()
{
int m,n,i,j,k,y,dec,cell,digits,count;
printf("\nType number of strings ");
scanf("%d",&m);
printf("\nType number of columns ");
scanf("%d",&n);
int a[m][n],b[n];
printf("\nType elements of massive\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<m;i++)
{
printf("\n");
for(j=0;j<n;j++)
printf("%10d\t",a[i][j]);
}
k=0;
for(j=0;j<n;j++);
{
count=0;
for(i=0;i<m;i++)
{
cell=a[i][j];
digits=0;
while(cell!=0)
{
cell=cell/10;
digits++;
}
cell=a[i][j];
dec=(pow(10,(digits-1)));
while(cell>0)
{
if((cell/dec)==(cell%10))
{
cell=(cell%dec)/10;
digits=digits-2;
dec=(pow(10,(digits-1)));
}
else break;
}
if(cell==0)
count++;
}
if(count==m)
{
b[k]=j+1;
k++;
}
}
printf("\nVector is \n");
for(i=0;i<=k;i++)
printf("%6d\t",&b[i]);
scanf("%d",i);
return 0;
}