Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Программирование одномерных масивов
4.3.1Описание одномерного массива
<тип> v1[k1], v2[k2], …, vn [kn], где vi – имя массива, ki – целая константа, указывающая размер массива 0 – (k-1) Например int p[[5], n=0, d[12]; float x[20], f, z[50], t=-1;
x[i] x[0] x[i+6] . 4.3.2 Ввод значений элементов массива - С помощью клавиатуры for(i=0; i<n; i++) { printf(“a[ %d ]=”, i+1); scanf(“%f “, &a[i]); }
- С помощью датчика случайных чисел
# include <stdlib.h>
for(i=0; i<n; i++) a[i]=20+5.0*rand()/RAND_MAX;или a[i]=0.001*rand(); - С помощью формул расчета for(i=0; i<n; i++) a[i]=k1*sin(k2*i)-k3*sqrt(k4*i); 4.3.3 Инициализация одномерных массивов. v[k]={c1,c2,…cm }; m≤k int s[6]={-1,5,-7,11,8,9}; s[0]=-1,s[5]=9; int r[ ]={5,9,-1,7,-5}; 4.3.4 Вывод (печать) элементов массива for(i=0; i<n; i++) printf(“%6.2f”, a[i]); в строку
for(i=0; i<n; i++) printf(“\n%6.2f”,a[i]); в столбец Пример 4.3 Задан исходный массив А из n-элементов (n≤100). Определить М=(Аmax + Аmin)/2.
int main() { int i,n; float a[100],m,amax,amin; printf (“Укажите длину массива n”); scanf(“%d”, &n); printf (“Введите элементы массива ”); for(i=0; i<n; i++) scanf(“%f“, &a[i]);
for(i=0; i<n; i++) printf(“%8.2f _”,a[i]);
amax =-1000; amin =1000; for(i=0; i<n; i++) { if(a[i] > amax) amax =a[i]; if(a[i] < amin) amin =a[i]; } m=(amax - amin)/2; printf(“\n m=%8.3 \n”,m); return 0; }
Контрольные вопросы для самопроверки 1. Что такое массив? 2. Что такое индекс, какую роль выполняет? 3. Как выполняется нахождение суммы элементов массива? 4. Как выполняется нахождение произведения элементов массива? 5. Как выполняется нахождение минимального элемента массива? 6. Как выполняется нахождение максимального элемента массива? 7. Как осуществляется взаимозамена двух элементов массива? 8. Как осуществляется удаление элемента из массива? 9. Как выполняется описание одномерного массива? 10. Как осуществляется ввод значений элементов массива с помощью клавиатуры? 11. Как осуществляется ввод значений элементов массива с помощью датчика случайных чисел? 12. Как осуществляется инициализация одномерных массивов? 13. Как осуществляется вывод (печать) элементов массива?
4.4 Преобразование одномерных массивов Пример 4.4 Задан массив действительных чисел Х размером 20 элементов. Удалить из него все отрицательные элементы. Текст программы
int main() { float a[20]; int n,i,j,ku; n=20;
for (i=0;i<n;i++) { a[i]=-20+0.001*rand(); printf("%6.1f",a[i]); } ku=0; for (i=n-1; i>=0; i--) if(a[i]<0) {ku++; for(j=i; j<n-1; j++) a[j]=a[j+1]; } printf("\n"); printf("\n"); for (i=0;i<n-ku;i++) printf("%6.1f",a[i]); return 0; } Пример 4.5 Заданы массивы A размером n и B размером m. Перенести в массив C те элементы массива A, которые не входят в массив B
Текст программы int main() { int a[30],b[30],c[30]; int n,i,m,j,k,l=0;
printf("\n введите размер массив А"); scanf(“%d”,&n);
printf("\n массив А"); for (i=0;i<n;i++) { a[i]=0.005*rand(); printf(" %5d",a[i]); }
printf("\n введите размер массив B "); scanf(“%d”,&m);
printf("\n массив B"); for (i=0;i<m;i++) { b[i]= 0.005*rand(); printf("%5d",b[i]); } for (i=0;i<n;i++) { k=0; for (j=0;j<m;j++) if (a[i]==b[j]) k++; if (k>0){c[l]=a[i];l++; } }
printf("\n массив C");
for (i=0; i<l;i++) printf(" %5d",c[i]); return 0; }
Пример 4.6
Текст программы
int main() { int a[30],c[30]; int n,i,m,j,k,l=0,pr; printf("\n введите размер массив А"); scanf(“%d”,&n);
for (i=0;i<n;i++) scanf(“%d”,&a[i]);
printf("\n массив А"); for (i=0;i<n;i++) printf("%4d",a[i]);
for (i=0;i<n;i++) { k=0; for (j=0;j<n;j++) if (a[i]==a[j]) k++; if (k>=2){pr=0; for (j=0;j<l;j++) if(c[j]==a[i]) pr=1; if (pr==0 ) {c[l]=a[i]; l++; }} } printf("\n массив C"); for (i=0; i<l;i++) printf(" %5d",c[i]); return 0; } Пример 4.7 Задан массив действительных чисел Х размером 20 элементов. Передвинуть его элементы влево циклическим сдвигом так, чтобы максимальный элемент занял первое место.
int main() { float a[40],max, dop; int n,i,k,nmax; n=6; for (i=0;i<n;i++) { a[i]=-10+0.001*rand(); printf("%5.1f",a[i]); } max=-1000; for (i=0;i<n;i++) if(a[i]>max) { max=a[i];nmax=i; } printf("\n max=%6.1f nmax=%d",max,nmax); for(k=1; k<=nmax; k++) { dop=a[0]; for (i=0; i<n-1; i++) a[i]=a[i+1]; a[n-1]=dop; } printf("\n"); for (i=0;i<n;i++) printf("%6.1f",a[i]); return 0; }
Многомерные массивы 4.4.1 Описание многомерных массивов. Язык Си позволяет объявлять многомерные массивы. Самым простым из многомерных массивов является двумерный массив. Можно сказать, что двумерный массив - это массив из одномерных массивов.
|
|||||||||||
Последнее изменение этой страницы: 2021-04-04; просмотров: 51; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.19.56.45 (0.021 с.) |