Задача на массивы №1

Отщеплен от топика Уроки с нуля в группе

1)Постановка задачи: Даны М[10] и С[12] . Отсортировать по возрастанию тот массив в котором нули есть. Посчитать сумму положительных элементов в том массиве в котором нулей нет.

Листинг программы:

#include <math.h>
#include <conio.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int M[10],C[12],S1,S2,i,k,z,b,y;
k=0;
z=0;
cout<<"Vvedite elementy massiva M";
for (i=0;i<=9;i=i+1)
  {
  cin>>M[i];
}
  cout<<"Vvedite elementy massiva C";
for (i=0;i<=11;i=i+1)
  {
  cin>>C[i];
}
for (i=0;i<=9;i=i+1)
  { if (M[i]==0)
  {
  k=k+1;
  }
}
for (i=0;i<=11;i=i+1)
  { if (C[i]==0)
  {
  z=z+1;
  }
}
{  if (k==0)
{for (i=0;i<=9;i=i+1)
  {if(M[i]>0)
     {S1=S1+M[i];
   }
}
}
else
{for (y=1;y<=9;y=y+1)
{for (i=0;i<=9;i=i+1)
          {if (M[i]>M[i]+1)
          {b=M[i+1];
           M[i+1]=M[i];
           M[i]=b;
           }
       }
   }
}
}
{ if (z==0)
{for (i=0;i<=11;i=i+1)
  {if(C[i]>0)
     {S2=S2+C[i];
   }
}
}
else
{for(y=1;y<11;y=y+1)
{for(i=0;i<11;i=i+1)
{if (C[i]>C[i+1])
        {b=C[i];
        C[i]=C[i+1];
        C[i+1]=b;
           }
       }
}
}
}
printf ("Sortirovka massiva M: ");
for (i=0;i<9;i=i+1)
{cout<<M[i]<<" " ;};
printf ("Sortirovka massiva C:  ");
for (i=0;i<11;i=i+1)
{cout<<C[i]<<" ";};
cout<<"\nSumma polozhitel'nyx znacheniy massiva M= "<<S1;
cout<<"\nSumma polozhitel'nyx znacheniy massiva C= "<<S2;
scanf("%i",&C);
getch();
return(0);
}

rgeog, а что, собственно, ты хотел узнать в ответ на твой пост?

Не особо вдаваясь в анализ кода, могу сказать, что код ужасен. Хуже кода только его форматирование.

Программа не соответствует заданию: (1) зачем-то сделана сортировка (которая не работает), (2) «сумма положительных элементов массива» распечатывается всегда для обоих массивов, (3) сумма считается неправильно и (4) в сортировках выход за границу массива.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.