M
m1pk0
Привет всем, мне нужна помощь в оформлении программ... Ну и проверить правильность написания программ...
Так вот, имеется 2 задачи!
[codebox]#include <iostream.h>
#include <math.h>
int mas[10],n,max,number;
main(void)
{
cout<<"Vvedite kol-vo elementov v massive"<<endl;
cin>>n;
cout<<"vvedite element massiva"<<endl;
for(int i=0;i<n;i++)
cin>>mas;
max=mas[0];
number=0;
{
if(fabs(mas)>fabs(max))
{
max=mas;
number=i;
}
}
cout<<"nomer maximalnyh elementov = "<<i+1<<endl;
return 0;
}[/codebox]
int mas[10],n,max,number;
main(void)
{
cout<<"Vvedite kol-vo elementov v massive"<<endl;
cin>>n;
cout<<"vvedite element massiva"<<endl;
for(int i=0;i<n;i++)
cin>>mas;
max=mas[0];
number=0;
{
if(mas>max)
{
max=mas;
number=i;
}
}
cout<<"nomer maximalnyh elementov = "<<i+1<<endl;
return 0;
}[/codebox]
#include <math.h>
#define N 3
main()
{
int A[N][N];
int i, j, z, sum, min;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
scanf("%d",&A[j]);
for (j = 0; j < N; j++)
{
sum = 0;
for (i = 0; i < N; i++)
{
if(A[j] >= 0 )
sum += A[j];
else
break;
}
if ( i == N) printf("Column %d Sum = %d\n",j,sum);
}
sum = 0;
for(j = N-2; j > 0; j--,sum = 0)
{
for(i = N-1,z = j; z < N; i--,z++)
sum += abs(A[z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
for(j = N-2; j > 0 ; j--,sum = 0)
{
for(i = 0,z = j; z >= 0; i++,z--)
sum += abs(A[z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
printf("Minimum Sum = %d",min);
return 0;
} [/codebox]
По моему в программах чего-то не хватает (проверьте кому не трудно ), хотя они работают...
Скажите какие цифры нужно вводить в программы (я не совсем понял какие - вводил, но не понял...)
И ещё мне нужно оформить алгоритм решения! У меня есть алгоритм решения - он похож на алгоритм первой задачи, но это не то:
Нужно графически оформить алгоритм в MS WORD, я сам все оформлю, помогите просто пошагово составить алгоритм первой и второй задач...
Заранее спасибо тем кто поможет!
P.S. Тема отображается кривовато из за кодов программ - поэтому я прикрепил *.cpp файлы...
Так вот, имеется 2 задачи!
Первая:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) максимальный элемент массива;
2) сумму элементов массива, расположенных до последнего положительного элемента.
Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) максимальный элемент массива;
2) сумму элементов массива, расположенных до последнего положительного элемента.
Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.
Вторая:
Дана целочисленная квадратная матрица. Определить:
1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов;
2) минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
Код и 1-ой и 2-ой задач имеется! Дана целочисленная квадратная матрица. Определить:
1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов;
2) минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
Первая задача, первый вариант:
[codebox]#include <iostream.h>
#include <math.h>
int mas[10],n,max,number;
main(void)
{
cout<<"Vvedite kol-vo elementov v massive"<<endl;
cin>>n;
cout<<"vvedite element massiva"<<endl;
for(int i=0;i<n;i++)
cin>>mas;
max=mas[0];
number=0;
{
if(fabs(mas)>fabs(max))
{
max=mas;
number=i;
}
}
cout<<"nomer maximalnyh elementov = "<<i+1<<endl;
return 0;
}[/codebox]
Первая задача, второй вариант:
[codebox]#include <iostream.h>int mas[10],n,max,number;
main(void)
{
cout<<"Vvedite kol-vo elementov v massive"<<endl;
cin>>n;
cout<<"vvedite element massiva"<<endl;
for(int i=0;i<n;i++)
cin>>mas;
max=mas[0];
number=0;
{
if(mas>max)
{
max=mas;
number=i;
}
}
cout<<"nomer maximalnyh elementov = "<<i+1<<endl;
return 0;
}[/codebox]
Вторая задача:
[codebox]#include <stdio.h>#include <math.h>
#define N 3
main()
{
int A[N][N];
int i, j, z, sum, min;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
scanf("%d",&A[j]);
for (j = 0; j < N; j++)
{
sum = 0;
for (i = 0; i < N; i++)
{
if(A[j] >= 0 )
sum += A[j];
else
break;
}
if ( i == N) printf("Column %d Sum = %d\n",j,sum);
}
sum = 0;
for(j = N-2; j > 0; j--,sum = 0)
{
for(i = N-1,z = j; z < N; i--,z++)
sum += abs(A[z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
for(j = N-2; j > 0 ; j--,sum = 0)
{
for(i = 0,z = j; z >= 0; i++,z--)
sum += abs(A[z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
printf("Minimum Sum = %d",min);
return 0;
} [/codebox]
По моему в программах чего-то не хватает (проверьте кому не трудно ), хотя они работают...
Скажите какие цифры нужно вводить в программы (я не совсем понял какие - вводил, но не понял...)
И ещё мне нужно оформить алгоритм решения! У меня есть алгоритм решения - он похож на алгоритм первой задачи, но это не то:
1. Начало
2. Объявление N, k, C,A,B, j, i, nSumm, iMax
3. Ввод N
4. Объявление одномерного массива ar размером N
5. i = 0
6. Если i >= N то 9
7. ar = RND(-20,20), Вывод ar
8. i = i +1 и 6
9. iMax = 0, i = 1
10. Если i >= N то 13
11. Если ar > ar[iMax] то iMax = i
12. i = i + 1 и 10
13. Вывод позиции iMax, значения AR[iMax]
14. i = N - 1, nSumm = 0,
15. Если i < 0 то 22
16. Если ar>0 то j=i , nSumm = 0
17. k = 0
18. Если k >= N то 22
19. nSumm = nSumm + ar[k]
20. k++ 18
21. i-- 14
22. Вывод суммы элементов до последнего положительного.
23. Объявление одномерного массива ar2 размером N
24. i=0, j= 0
25. Если i >= N то 29
26. Если abs( ar )>=A && abs( ar ) <=B, то j++ и ar2[j] = ar 25
27. i ++ 25
28. Вывод ar2[j]
29. i = j + 1
30. Если i >= N то 34
31. ar2 = C
32. Вывод ar2
33. i++ 30
34. Конец
2. Объявление N, k, C,A,B, j, i, nSumm, iMax
3. Ввод N
4. Объявление одномерного массива ar размером N
5. i = 0
6. Если i >= N то 9
7. ar = RND(-20,20), Вывод ar
8. i = i +1 и 6
9. iMax = 0, i = 1
10. Если i >= N то 13
11. Если ar > ar[iMax] то iMax = i
12. i = i + 1 и 10
13. Вывод позиции iMax, значения AR[iMax]
14. i = N - 1, nSumm = 0,
15. Если i < 0 то 22
16. Если ar>0 то j=i , nSumm = 0
17. k = 0
18. Если k >= N то 22
19. nSumm = nSumm + ar[k]
20. k++ 18
21. i-- 14
22. Вывод суммы элементов до последнего положительного.
23. Объявление одномерного массива ar2 размером N
24. i=0, j= 0
25. Если i >= N то 29
26. Если abs( ar )>=A && abs( ar ) <=B, то j++ и ar2[j] = ar 25
27. i ++ 25
28. Вывод ar2[j]
29. i = j + 1
30. Если i >= N то 34
31. ar2 = C
32. Вывод ar2
33. i++ 30
34. Конец
Нужно графически оформить алгоритм в MS WORD, я сам все оформлю, помогите просто пошагово составить алгоритм первой и второй задач...
Заранее спасибо тем кто поможет!
P.S. Тема отображается кривовато из за кодов программ - поэтому я прикрепил *.cpp файлы...