Программирование циклических вычислительных процессов с варьируемым параметром цикла

Автор: Пользователь скрыл имя, 29 Ноября 2011 в 23:54, лабораторная работа

Краткое описание

Цель работы: Изучение операторов цикла в языке С++.
Задание. Составить алгоритм решения задачи согласно своему варианту. В отчете предоставить три программы с разными операторами цикла (do … while, while, for). В алгоритме и программе массивов не использовать.

Файлы: 1 файл

Отчеты.doc

— 430.00 Кб (Скачать)

          {cout<<endl<<"Srednee prostix dvuzn:"<<my[0]<<", kol-vo: "<<ky[0]<<endl;

          if (ky[0]>2)//если количество больше 2-х

          {for (i=0;i<k;i++)

          {if ((abs(y[i])>10)&&(abs(y[i])<99)) 

            if (prost(y[i])) {del(y,&k,i); i--;}//удаляем элемент

          }

           cout<<"Array Y posle obrabotki"<<endl;

            for(i=0;i<k;i++)//выводим массив после обработки

                cout<<setw(8)<<y[i];

          } }

          else

          cout"<<endl<<"Net prostix”;

          delete [] y; //освобождаем память

          delete ky;

          delete my;

          cout<<endl<<"Vvedite razmer Z:";

          cin>>m;

          z=new int[m];//аналогично для массива z

          for (i=0;i<m;i++)

          {cout<<"Entered Z["<<setw(2)<<i<<"]= ";

           cin>>z[i];

          }

          kz=new int;

          mz=new float;

          sred(z,m,kz,mz);

          cout<<"Array Z"<<endl;

          for(i=0;i<m;i++)

           cout<<setw(8)<<z[i];

          if (kz[0]>0)

          {

          cout<<endl<<"Srednee prostix dvuzn:"<<mz[0]<<", kol-vo: "<<kz[0]<<endl;

          if (kz[0]>2)

          {for (i=0;i<m;i++)

          {if ((abs(y[i])>10)&&(abs(y[i])<100)) 

           if (prost(z[i])) {del(z,&m,i); i--;}

          }

           cout<<"Array Z posle obrabotki"<<endl;

           for(i=0;i<m;i++)

                cout<<setw(8)<<z[i];

          } }

         else

          cout"<<endl <<"Net prostix"<<endl;

          delete [] z;

          delete kz;

          delete mz;

          return 0;

    }

  1. Контрольный расчет.

 

Лабораторная  работа №10

Тема  «Обработка двумерных массивов»

      Цель  работы: Изучение двумерных массивов в языке С++. Знакомство с основными алгоритмами работы с матрицами– определение суммы, произведения элементов, поиска максимального или минимального элемента, работа с диагоналями квадратной матрицы.

      Задание. Составить алгоритм решения задачи согласно своему варианту и написать программу на языке С++.

      Вариант 3. Задана матрица целых чисел a(n,n). Вывести номера столбцов, в которых находится более двух простых чисел. Найти сумму положительных элементов матрицы. 

 

    1. Блок-схема  алгоритма.

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

    #include <iostream.h>

    #include <iomanip.h>

    #include <math.h>

    int main(void)

    {

          int i,j,k,n,*a;

          int summ,cnt,cura;

          cout<<"Entered N: ";

          cin>>n;

          a=new int[n*n];//выделяем память для матрицы

          for(i=0;i<n;i++)

          for(j=0;j<n;j++) //ввод матрицы

          { cout<<"Entered A["<<setw(2)<<i<<"]["<<setw(2)<<j<<"]: ";

                cin>>a[7*i+j];//элемент расположен по этому адресу памяти

          }

          for(i=0;i<n;i++)

          {for(j=0;j<n;j++) //форматированный вывод матрицы

            cout<<setw(6)<<a[7*i+j];

           cout<<endl;

          }

          summ=0;

          for(i=0;i<n;i++)

          { cnt=0;

                for(j=0;j<n;j++)

                {if (a[7*j+i]>0) summ+=a[7*j+i];

                      cura=abs(a[7*j+i]);//здесь j выступает строкой

                      if (cnt<3)

                      {for(k=2;k<cura;k++)//проверка число-простое?

                            if (cura%k==0)

                            {cnt--;

                             break;

                            };

                      cnt++;

                      }

                }

                if(cnt>2) cout<<"Column "<<setw(2)<<i<<" >2 prost"<<endl;

          }

          cout<<"Summa positive= "<<summ<<endl;

          delete [] a;

          return 0;

    }

    1. Контрольный расчет.

Информация о работе Программирование циклических вычислительных процессов с варьируемым параметром цикла