Здравствуйте! нужно решить 2 задачи на Си, НО невыходит((
Вот
1я:
Даны три натуральных трехзначных числа. Определить, сколько из них делятся нацело на 10. Проверку делимости числа на 10 оформить в виде подпрограммы, пользоваться операцией mod нельзя.
мой код:
Код:
#include<iostream.h>
#include<math.h>
#include<conio.h>
int A(int a,int d,int i)
{ d=0;
while (d<=a){d=+10;}
if (d==a) {i++;}
return i;
}
void main()
{ clrscr();
int a,d,i;
i=0;
cout<<"\nvvedite a " ;
cin>>a;
A(a,d,i);
cout<<"\nvvedite b ";
cin>>a;
A(a,d,i);
cout<<"\nvvedite c ";
cin>>a;
A(a,d,i);
cout<<"del na 10 = "<<i;
getch();
}
Вот
2я:
Дан массив A(N). Сформировать массивы В(N) и C(N), включив в массив В все четные элементы, а в массив С – все нечетные элементы исходного массива.
Мой код:
Код:
#include <math.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
const n=10;
void formarray(float *a,int n)
{ int i;
randomize();
for (i=0;i<n;i++)
a[i]=random(20);
}
void printarray(float *a,int n)
{ int i;
for (i=0;i<n;i++)
cout <<a[i]<<" ";
cout <<"\n";
}
void printarrayB(float *b,int n)
{ int i;
for (i=0;i<n;i++)
cout <<b[i]<<" ";
cout <<"\n";
}
void printarrayC(float *c,int n)
{ int i;
for (i=0;i<n;i++)
cout <<c[i]<<" ";
cout <<"\n";
}
void B(float *a,int n, float *b)
{ int i,j;
for (i=0;i<n;i++)
if (i%2==0){j=a[i];
i=i/2;
b[i]=j;
}
}
void C(float *a,int n, float *c)
{ int i,j;
for (i=0;i<n;i++)
if (i%2!=0){j=a[i];
c[i]=j;
}
}
void main()
{ clrscr();
float a[n],b[n],c[n];
formarray(a,n);
printarray(a,n);
B(a,n,b);
printarrayB(b,n);
C(a,n,c);
printarrayC(c,n);
getch();
}
Они не работают. Подправте пож-ста.