Программное определение числовых массивов
Лабораторная работа №1. Обработка строк в программе
Задание: Напишите программу, проверяющую, является ли строка палиндромом. Фраза называется палиндромом, если она читается от конца к началу так же, как от начала к концу при игнорировании всех знаков, кроме букв.
Например, фраза "аргентина манит негра" -палиндром.
Ход работы: Исходные данные строка.
Полный текст программы будет выглядеть так:
#include<iostream.h>
#include "Rus.h"
#include <string.h>
void main(int argc, char* argv[])
{
char str[40];
bool fin=true;
cout<<Rus("\n Введите строку без пробелов: ");
cin>>str;
int len=strlen(str);
for(int i=0; i<len; i++)
if(str[i]!= str[strlen(str)-i-1])
{
fin=false;
}
if(fin)
cout<<Rus("Строка палиндром! \n");
else
cout<<Rus("Строка не палиндром! \n");
return;
}
Выполнение программы: Программа выполняется правильно
Лабораторная работа №2. Одномерные числовые массивы
Задание: Напишите программу, определяющую, образуют ли элементы целочисленного массива невозрастающую последовательность.
Этапы решения задачи:
-Заполнения массива случайными числами в диапазоне от –50 до +50.
-Вывода одномерного массива.
-Определения, образуют ли элементы массива невозрастающую последовательность.
Ход работы: -Заполнения массива случайными числами в диапазоне от –50 до +50.
-Вывода одномерного массива.
-Определения, образуют ли элементы массива невозрастающую последовательность.
Полный текст программы будет выглядеть так:
#include<iostream.h>
#include"Rus.h"
#include<time.h>
#include<stdlib.h>
#define SIZE 7 //задаем размерность массива
void main(void)
{
int mas[SIZE]; //объявляем массив
int k=50;
bool fin=true;
//заполнение массива случайными числами
randomize(); //инициализируем генератор случайных чисел
for(int i=0; i<SIZE; i++) //перебор элемонтов массива
mas[i]=random(2*k) - k; //формируем случайное число [-k;+k]
//вывод элементов массива на экран
cout<<Rus("\nМассив:");
for(i=0; i<SIZE; i++) //перебор элементов массива
cout<< mas[i]<<endl; //выводим i-ый элемент массива
//проверка не возрастания последовательности
for(i=0; i<SIZE-1; i++) // перебор элементов массива
if (mas[i]<mas[i+1]) //если следующий элемент больше предыдущего, то не является не возрастающей последовательностью
fin=false;
if (fin)
cout<< Rus("\n Массив не является не возрастающей последовательностью");
else
cout<<Rus("\n Массив не является последовательностью ");
return;
}
Выполнение программы: Программа не выполняется, так как Microsoft Visual C++ 6.0 не знает функции «randomize».
Лабораторная работа №3. Двумерные числовые массивы
Задание: Для матрицы найти сумму элементов каждой строки матрицы. Сформировать массив D из найденных сумм.
Ход работы: Этапы решения задачи:
-заполнения двумерного массива случайными числами из диапазона –80, +100;
-вывода двумерного массива;
-поиска сумм элементов строк матрицы;
-вывод массива-результата.
Полный текст программы будет выглядеть так:
#include<iostream.h>
#include"Rus.h"
#include<iomanip.h>
#include<time.h>
#include<stdlib.h>
#define STR 3 //задаем количество строк в массиве
#define STLB 4 //задаем количество столбцов в массиве
#define NSTLB 2 //задаем номер анализируемого столбца
void main(void)
{
int matr[STR][STLB]; //объявляем массив
int res[STR];
int i, j, sum;
randomize();
// //заполнения двумерного массива числами с клавиатуры;
cout<<Rus("Введите массив \n");
for(i=0; i<STR; i++) //перебор элементов массива
for(j=0; j<STLB; j++)
matr[i][j]=random(180)-80;
//вывода двумерного массива;
cout<<Rus("\Исходный массив:");
for(i=0; i<STR; i++) //перебор элементов массива
{
for(j=0; j<STLB; j++)
cout<<setw(8)<< matr[i][j]; //выводим элемент массива
cout<<endl; //переводим курсор на след строку
}
for(i=0; i<STR; i++) //перебор элементов массива
{
sum=0;
for(j=0; j<STLB; j++)sum+=matr[i][j];
res[i]=sum;
}
cout<<Rus("\n Полученный массив::");
for(i=0; i<STR; i++) //перебор элементов массива
{
cout<<setw(8)<< res[i]; //выводим элемент массива
}
return;
}
Выполнение программы: Программа не выполняется, так как Microsoft Visual C++ 6.0 не знает функции «randomize».