КАТЕГОРИИ:
Архитектура-(3434) Астрономия-(809) Биология-(7483) Биотехнологии-(1457) Военное дело-(14632) Высокие технологии-(1363) География-(913) Геология-(1438) Государство-(451) Демография-(1065) Дом-(47672) Журналистика и СМИ-(912) Изобретательство-(14524) Иностранные языки-(4268) Информатика-(17799) Искусство-(1338) История-(13644) Компьютеры-(11121) Косметика-(55) Кулинария-(373) Культура-(8427) Лингвистика-(374) Литература-(1642) Маркетинг-(23702) Математика-(16968) Машиностроение-(1700) Медицина-(12668) Менеджмент-(24684) Механика-(15423) Науковедение-(506) Образование-(11852) Охрана труда-(3308) Педагогика-(5571) Полиграфия-(1312) Политика-(7869) Право-(5454) Приборостроение-(1369) Программирование-(2801) Производство-(97182) Промышленность-(8706) Психология-(18388) Религия-(3217) Связь-(10668) Сельское хозяйство-(299) Социология-(6455) Спорт-(42831) Строительство-(4793) Торговля-(5050) Транспорт-(2929) Туризм-(1568) Физика-(3942) Философия-(17015) Финансы-(26596) Химия-(22929) Экология-(12095) Экономика-(9961) Электроника-(8441) Электротехника-(4623) Энергетика-(12629) Юриспруденция-(1492) Ядерная техника-(1748)
Приклад 5.3 Приклад 5.2
Приклад 5.1
Приклад 4.14
Приклад 4.13
Приклад 4.12
Приклад 4.11
Приклад 4.8
#include <stdio.h>
void main()
{int a=5;
int *const Сptr=&a;
int а1=*Сptr;
Сptr++;
*Сptr=10;
const int b=2;
int const *ptrС=&b;
int b1=*ptrС;
ptrС++;
*ptrС=4;
const int с=50;
const int *const СptrС=&с;
int с1=*СptrС;
СptrС++;
*СptrС=100;
}
4.2 Зв‘язок масивів та покажчиків
Приклад 4.9
#include <stdio.h>
void main()
{const n=5;
float farr[n];
for(int i=0;i<n;i++)
{scanf(“%f”,&farr[i]);
*(farr+i)=*(farr+i)**(farr+i);
printf(“%.3f\n”,i[farr]);
}
}
Приклад 4.10
#include <stdio.h>
void main()
{int arr[]={100,200,300,400,0};
int *p=arr;
while(*p) printf("%d\t",*p++);
p=arr;
while(*p) printf("%d",*++p);
char ch[]="abcde";
char *pc=ch;
while(*pc) printf("%c",*pc++);
}
#include <stdio.h>
void main()
{char st[]="СОН";
char *pc=&st[2];
printf("%c%c%c\n",pc[0],pc[-1],pc[-2]);
printf("%c",*pc);
printf("%c",*--pc);
printf("%c",*--pc);
}
4.3 Багатовимірні масиви
#include <iostream.h>
void main()
{int a[2][3]={1,2,3,4,5,6};
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
cout<<&a[i][j]<<” ”<<a[i][j])<<endl;
cout<<a<<”\n”;
cout<<&a<<”\n”;
cout<<sizeof(a)<<endl;
cout<<sizeof(&a)<<endl;
cout<<sizeof(a[0])<<endl;
cout<<sizeof(&a[0])<<endl;
cout<<sizeof(a[0][0])<<endl;
cout<<sizeof(&a[0][0])<<endl;
}
#include<stdlib.h>
#include <stdio.h>
#define N 3
#define M 4
void main()
{randomize();
int mas[N][M],i,j,sum=0,max;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
mas[i][j]=random(200)-50;
puts(“Массив mass”);
for(i=0;i<N;i++)
{for(j=0;j<M;j++)
printf("%4d",*(*(mas+i)+j));
printf(“\n”);
}
max=**mas;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(*(mas[i]+j)>max)
max=(*(mas+i))[j];
printf("max=%4d\n",max);
for(i=0;i<N*M;i++)
sum+=*(mas[0]+i);
printf("sum=%4d\n",sum);
int *ps=mas[0];
printf("mas[0][3]=%4d\n",*(ps+M*0+3));
printf("mas[2][1]=%4d\n",*(ps+M*2+1));
int **pm=&ps;
printf("mas[1][3]=%d\n",*(*pm+M*1+0));
printf("mas[2][3]=%d\n",*(*pm+M*2+3));
}
#define N 3
#define M 2
#define K 10
void main()
{char a[N][M][K];
for(int i=0;i<N;i++)
{puts("Введіть автора і назву");
scanf("%s%s",a[i][0],a[i][1]);}
for(i=0;i<N;i++)
printf("%d. %-s %-s\n",i+1,a[i][0],a[i][1]);
}
5 Динамічні масиви
5.1 Одновимірні динамічні масиви
#include <stdio.h>
#include <alloc.h>
int main()
{int n, *ptr;
puts("Введіть розмір масиву");
scanf("%d",&n);
ptr=(int*)malloc(n*sizeof(int));
if(ptr==NULL) {puts("Помилка виділення пам’яті!");
return -1;}
puts("Введіть елементи масиву");
for(int i=0;i<n;i++)
scanf("%d",&ptr[i]);
for(i=0;i<n;i++)
printf("%d\n",*(ptr+i));
free(ptr);
return 0; }
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{int N;
char*ps;
printf("Введіть розмір рядка: ");
scanf("%d",&N);
fflush(stdin);
printf("Введіть строку, не більш %d символів\n",N);
ps=(char*)malloc(N*sizeof(char));
if(ps==NULL) {printf("Помилка виділення пам’яті!\n");
return -1; }
gets(ps);
puts(ps);
free(ps);
return 0;}
#include <stdio.h>
#include <stdlib.h>
int main()
{ long n=10,i,j;;
double sum=0.0, *p;
p=(double*)calloc(n,sizeof(*p));
if(p==NULL)
{printf("Помилка виділення пам’яті!\n");
return -1; }
srand((unsigned)time(NULL));
for(i=0;i<n;i++)
{*(p+i)=rand()/double(RAND_MAX);
printf("p[%ld]=%lf\n",i,p[i]); }
free(p);
return 0;}
Дата добавления: 2014-01-04 ; Просмотров: 274 ; Нарушение авторских прав? ; Мы поможем в написании вашей работы!
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет