Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Московский государственный университет путей сообщения (МИИТ).
Кафедра ИТС.
Отчет №5
Проектирование и отладка программ обработки массивов.
Студент: Медников Д.А.
Группа: УПИ-111
Проверил:
Москва 2012
Задание 5.
Начало
i=0
Начало
Вывод: k
i=i+1
k=k+1
Вывод: net otric
(i<=10)&&(array[i]>=0
(array[i]>=0)&&(array[i]>=0.5)&&(i<n)
i=0
n=i
i>9
i=i+1
k=0
i=0
Ввод array[i]
i=i+1
i<10
Подсчет количества элементов, стоящих до первого отрицательного элемента, попадающих в отрезок
array[i] k
using namespace std;
int main()
{float array[10];
int i,n,k;
i=0;
while (i<10)
{cout<<"array["<<i<<"]=";
cin>>array[i];
i++;
}
i=0;
k=0;
while ((i<=10)&&(array[i])>=0)
i++;
if (i>9)
cout<<"net otric";
else
{n=i;
i=0;
while ((array[i]>=0)&&(array[i]>=0.5)&&(i<n))
{k=k+1;
i++;
}
cout<<"k="<<k<<"\n";
}
system ("PAUSE");
return 0;
}
5.
№ |
Значение элемента массива array[i] |
Количество элементов k= |
1 |
2 |
2 |
2 |
0.5 |
|
3 |
0 |
|
4 |
4 |
|
5 |
5 |
|
6 |
0.6 |
|
7 |
-4 |
|
8 |
5 |
|
9 |
0.3 |
|
10 |
-8 |
7.
8. Программа работает правильно, потому что реальные результаты совпадают с ожидаемыми.
Задание 23
Нахождение суммы элементов матрицы, расположенных в строках с отрицательными элементами на главной диагонали
array[i][j] sum
using namespace std;
int main()
{float array[3][3], sum;
int i,j,n,r;
sum=0;
for (i=0;i<3;i++)
{for (j=0;j<3;j++)
{cout<<"array["<<i<<"]"<<"["<<j<<"]=";
cin>>array[i][j];
}
cout<<"\n";
}
i=0;
j=0;
n=j;
r=0;
while ((i<3)&&(n<3))
{if (array[i][n]<0)
{ for (j=0;j<3;j++)
sum=sum+array[i][j];
cout<<"sum="<<sum<<"\n";
sum=0;
r++; }
i++;
n++; }
if (r=0) cout<<"v matrice net otric"<<"\n";
system ("PAUSE");
return 0;
}
№ |
Значение элемента массива array[i][j] |
Значение sum |
1 |
-6 |
1 |
2 |
3 |
|
3 |
4 |
|
4 |
2 |
-1 |
5 |
-5 |
|
6 |
2 |
|
7 |
4 |
-4 |
8 |
1 |
|
9 |
-9 |
Листинг:
8) Программа работает правильно, потому что реальные результаты совпадает с ожидаемыми.
Задание 24.
1)составить структурированную программу присваивания переменной y значения, равного скалярному произведению строки и столбца матрицы {ai,j}3,3, на пересечении которых находится наименьший элемент матрицы.
Нахождение скалярного произведения строк и столбцов матрицы
2)HIPO- диаграмма
array[i][j] s
3) #include<iostream>
using namespace std;
int main()
{float array[3][3],s,min;
int i,j,n,k,p;
for (i=0;i<3;i++)
for (j=0;j<3;j++)
{ cout<<"array["<<i<<"]"<<"["<<j<<"]=";
cin>>array[i][j];
cout<<"\n";
}
s=0;
min=array[0][0];
for (i=0;i<3;i++)
for (j=0;j<3;j++)
if (min>=array[i][j])
{min=array[i][j];
n=i;
k=j;
}
p=0;
while (p<3)
{s=s+array[p][n]*array[k][p];
p++;
}
cout<<"s="<<s;
system("PAUSE");
return 0;
}
4)
№ |
Значение элемента массива array[i][j] |
Значении s |
1 |
1 |
30 |
2 |
2 |
|
3 |
3 |
|
4 |
4 |
|
5 |
5 |
|
6 |
6 |
|
7 |
7 |
|
8 |
8 |
|
9 |
9 |
5) Листинг:
6) Вывод: программа работает правильно, потому что реальные результаты совпадают с ожидаемыми.
Задание 25.
Создание нового массива, соответствующему условию в первом пункте.
Array[i][j], x array2[i]
using namespace std;
int main()
{int array[3][3];
float array2[3], max;
int i,j,x;
cout<<"x=";
cin>>x;
for (i=0;i<3;i++)
{for (j=0;j<3;j++)
{ cout<<"array["<<i<<"]["<<j<<"]=";
cin>>array[i][j];
}
cout<<"\n";
}
max=array[0][0];
for (i=0;i<3;i++)
{for (j=0;j<3;j++)
if (max<array[i][j]) max=array[i][j];
if (max<=x) array2[i]=1;
else array2[i]=0;
max=array[i][0];
}
for (i=0;i<3;i++)
cout<<"array2["<<i<<"]="<<array2[i]<<"\n";
system ("PAUSE");
return 0;
}
№ |
Значение элемента массива array[i][j] |
Значение x |
Значение элементов нового массива array[i] |
1 |
1 |
6 |
1 |
2 |
2 |
||
3 |
3 |
||
4 |
4 |
1 |
|
5 |
5 |
||
6 |
6 |
||
7 |
7 |
0 |
|
8 |
8 |
||
9 |
9 |