Студопедия

КАТЕГОРИИ:


Архитектура-(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;}
 
 
 
<== предыдущая лекция | следующая лекция ==>
Приклад 4.7 | Приклад 5.6
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 274; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.