Программное определение числовых массивов
Лабораторная
работа №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».