Лабораторная работа №1 Тема: программирование основных алгоритмических конструкций на языке с++



Download 0,62 Mb.
bet6/28
Sana21.06.2022
Hajmi0,62 Mb.
#689734
TuriЛабораторная работа
1   2   3   4   5   6   7   8   9   ...   28
Bog'liq
лабораторные работы по с 2сем

Пример1.
Сформировать таблицу Пифагора (таблица умножения) и вывести её на экран. #include
#include int main(void)
{ int p[9][9]; int i, j; for (i=0; i<=8; i++) //Цикл по строкам
for (j=0; j<=8; j++) //Цикл по столбцам p[i][j]= (i+1)*(j+1);
for (i=0; i<=8; i++)
{ for (j=0; j<=8; j++) cout << p[i][j] << "\t"; cout << endl; //Перевод курсора на сл. строку }
}
Пример2.
Задан двумерный массив b[10][10] целых чисел, заполненный случайными числами из отрезка [-10,10]. Найти и вывести на экран те элементы массива, которые больше заданного числа k.
#include
#include
#include #include int main(void)
{ int b[10][10]; int i, j, k;
srand(time(NULL)); for (i=0; i<=9; i++)
{ for (j=0; j<=9; j++) { b [i][j]=rand()%21-10; cout << b[i][j] << " ";
}; cout << endl;
}; cout << "Введите число k"; cin >> k; for (i=0; i<=9; i++)
for (j=0; j<=9; j++)
if (b[i][j]>k) cout << b[i][j] << "\t";
cout << endl; } //.
Пример3.
Задать и распечатать вещественный массив 10 на 10, состоящий из целых случайных чисел в интервале [1,100]. Найти сумму элементов, лежащих выше главной диагонали.
Главной является диагональ, проведённая из левого верхнего угла массива в правый нижний. При этом получается, что элементы, лежащие на главной диагонали будут иметь одинаковые индексы, а для элементов выше главной диагонали номер столбца будет всегда превышать номер строки.
#include
#include
#include #include int main(void)
{ float A[10][10]; int i, k;
float S; S=0; srand(time(NULL)); for (i=0; i<=9; i++)
{ for (k=0; k<=9; k++)
{
A[i][k]=(99.0*rand()/RAND_MAX)+1.0; cout << A[i][k] << " "; if (k>i) S=S+A[i][k];
}; cout << endl;
}; cout << "Сумма элементов выше главной диагонали равна" << S; } //.
2.9. Массивы указателей
Указатели как и переменные любого другого типа, могут объединяться в массивы. Объявление массива указателей из 10 элементов имеет вид int *x[10];. Каждому из элементов массива можно присвоить адрес. Например, пятому элементу этого массива присвоим адрес целой и ранее объявленной переменной у: х[4]=&у;. Если затем необходимо найти значение переменной у, это можно сделать, используя конструкцию *х[4].
C помощью массива указателей несложно запрограммировать динамическое создание двумерных массивов. Объявим массив 10 указтелей p:
int *p[10];
C каждым из них можно связать динамически созданный одномерный массив и интерпретировать его как строку матрицы:
for (i=0; i<=8; i++) //Цикл по строкам {p[i]=new int[20];} // Создание строки.
В результате получили следующую замысловатую конструкцию. Идентификатор p является именем массива указателей, которые содержат адреса первых элементов других массивов — строк матрицы. Выражение p[k] или равносильное ему *(p+k) представляют собой адрес первого элемента строки с номером k. Выражение *(p[k]+m) или *(*(p+k)+m) — элемент с номером m строки с номером k, то есть элемент двумерного массива, расположенный в строке k и столбце m. Заметим также, что динамически созданные «строки матрицы» не обязательно должны иметь одинаковый размер, а само понятие «матрица» в данном контексте уместно заменить выражением «массив массивов».
2.10. Практическое задание
При выполнении практического задания придерживайтесь следующей последовательности действий.

      1. Обязательно изучите описание, предлагаемое выше.

      2. Разберите примеры, приводимые в описании.

      3. Осмыслите задачу, предлагаемую в вашем варианте.

      4. Составьте словесный алгоритм решения задачи.

      5. Представьте алгоритм решения в виде блок-схемы.

      6. Переведите алгоритм на язык программирования.

2.10.1. Варианты заданий



Download 0,62 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   28




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish