Подсчитать количество натуральных чисел между двумя введенными числами
| Сформировать массив целых чисел случайным образом. Удалить все элементы с заданным значением. Добавить перед каждым четным элементом массива элемент со значением 0.
| В массиве M(k) много совпадающих элементов. Найти количество различных элементов в нем, не упорядочивая массив.
|
#include < stdio.h>
#include < conio.h>
int main(void)
{
int i, j = 0, n;
printf(" \n\t Enter the primary number: ");
scanf_s(" %d", & i);
printf(" \t Enter the last natural number: ");
scanf_s(" %d", & n);
printf(" \n\t The numbers are: ");
while (i < = n)
{
printf(" \n\t %3d", i);
++i;
++j;
}
printf(" \n\t Total numbers: %d\n", j);
printf(" \n Press any key: ");
_getch();
return 0;
}
| #include < iostream>
#include < ctime>
using namespace std;
int main()
{ srand((unsigned)time(NULL));
int n, i, j, m, a[100];
cout < < " Vvedite razmer massiva "; cin > > n;
cout < < " Vvedite zad.znachenie "; cin > > m;
for (i = 1; i < = n; i++)
*(a + i) = rand() % 6;
for (i = 1; i < = n; i++)
cout < < *(a + i) < < " "; cout < < endl;
for (i = 1; i < = n; i++)
{ if (*(a + i) == m)
{ for (j = i; j < = n - 1; j++)
*(a + j) = *(a + j + 1); n--; } }
for (i = 1; i < = n; i++)
{ if (*(a + i) % 2 == 0)
{ for (j = n; j > = i; j--)
*(a + j + 1) = *(a + j); n++; *(a + i) = 0; i++; } }
for (i = 1; i < = n; i++)
cout < < *(a + i) < < " "; cout < < endl;
return 0; }
| #include < locale>
#include < time.h>
#define MaxN 100
int m[MaxN];
int main()
{ setlocale(LC_CTYPE, " Russian");
int n;
printf(" Введите размерность массива\n");
scanf(" %d", & n);
srand((unsigned)time(NULL));
for (int i = 0; i < n; i++)
{ m[i] = rand() % 10;
printf(" %d ", m[i]); }
printf(" \nНеповторяющиеся элементы\n");
for (int i = 0; i < n; i++)
{ bool ans = true;
for (int j = 0; j < n; j++)
{ if (i == j) continue;
if (m[i] == m[j])
{ ans = false; break; } }
if (ans) printf(" %d ", m[i]); }
return 0;
}
|
Написать программу, реализующую удаление k символов с позиции номер n из строки.
| Преобразовать строку следующим образом: удалить все символы! и повторить каждый символ, отличный от!.
| Определить количество предложений в заданном тексте (предложение заканчивается либо точкой, либо вопросительным или восклицательным знаком).
|
#include < iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE, " Russian");
char S[100]; int k, n;
cout < < " Введите строку " < < endl;
cin.getline(S, '/0');
cout < < " Задайте позицию n " < < endl;
cin > > n;
cout < < " Задайте количество удаляемых символов" < < endl;
cin > > k;
for (int i = 0; i < k; i++)
{
int j = n;
while (S[j]! = '\0')
{
S[j] = S[j+1]; j++;
}
}
cout < < " Новая строка: " < < endl;
for (int i = 0; S[i]! = '\0'; i++)
cout < < S[i];
system(" Pause");
return 0; }
| #include < stdio.h>
#include < locale>
#define MaxLen 256
int main(void)
{
setlocale(LC_CTYPE, " Russian");
char s[MaxLen], ans[MaxLen * 2];
puts(" Введите строку");
gets (s);
int len = -1;
for (int i = 0; s[i]; i++)
if (s[i]! = '! ')
{
ans[++len] = s[i];
ans[++len] = s[i];
}
ans[++len] = '\0';
puts(ans);
putchar('\n');
return 0;
}
| #include < iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE, " Russian");
char mas[100];
int sum = 0;
cout < < " Задайте строку" < < endl;
cin.getline(mas, '/0');
int i = 0;
while (mas[i]! = '\0')
{
if ((mas[i] == '.') || (mas[i] == '! ') || (mas[i] == '? '))
sum++;
i++;
}
cout < < " Количество предложений=" < < sum < < endl;
system(" Pause");
return 0;
}
|
Инициализация многомерного массива в одну строчку.
| Ввести квадратную матрицу с максимальным размером 10х10 и заменить все отрицательные числа их модулями. Ввод матрицы оформлен в виде отдельной функции vvod.
| Определить в предложении самое длинное слово
|
#include < iostream>
#include < windows.h>
using namespace std;
int main()
{
float A[5][3] = {1.1, 1.2, 1.3, 2.1, 2.2,
2.3, 3.1, 3.2, 3.3, 4.1, 4.2, 4.3, 5.1, 5.2, 5.3};
for(int i=0; i< 5; i++)
{
for(int j=0; j< 3; j++)
{
cout < < " A[" < < i < < " ][" < < j < < " ] - ";
cout < < A[i][j] < < " \n";
}
}
cout < < " \n\n";
system(" PAUSE");
return 0;
}
| #include < iostream>
using namespace std;
void vvod (int u[10][10], int n)
{ int i, j;
cout < < " \nЧисла вводятся через пробел";
for (i=0; i< n; i++)
{ cout < < " \nВведите " < < i+1< < " строку ";
for (j=0; j< n; j++)
cin> > u[i][j]; }
}
void main()
{setlocale(LC_CTYPE, " Rus");
int a[10][10]; int n, i, j;
cout< < " \nВведите размер матрицы ";
cin> > n;
vvod(a, n);
for (i=0; i< n; i++)
for (j=0; j< n; j++)
if (a[i][j] < 0) a[i][j]=-a[i][j];
cout < < " \n";
for (i=0; i< n; i++)
{
for (j=0; j< n; j++)
cout< < a[i][j]< < " ";
cout< < " \n";
}
}
| #include < iostream>
#include < windows.h>
using namespace std;
int main()
{ int i=0, n, k, u, m; n = 0; k;
char p[20], p1[20];
cout < < " Input string: " < < endl;
gets(p);
cout < < endl;
//l = strlen(p);
for (u = i; p[i]! = 0; i++)
{ if (p[i]! = ' ') n++;
else break; }
while (p[i]! = 0)
{ for (m = i; p[i]! = 0 & & p[i] == ' '; i++)
{ k = 0; m++; }
for (; p[i]! = 0 & & p[i]! = ' '; i++)
k++;
if (k > n) { n = k; u = m; }
k = 0; }
for (i = u; p[i]! = ' '; i++)
p1[i-u]=p[i];
p1[i-u]=0;
cout< < p1;
cout < < endl;
return 0;
}
|
Дана целочисленная квадратная матрица случайных чисел. Вычислить сумму и произведение ее четных элементов.
| Дана квадратная матрица порядка 2n, элементы которой формируются случайным образом и находятся в пределах от -10 до 10. Получить новую матрицу, переставляя ее блоки размера n× n в соответствии со схемой.
|
#include " time.h"
#include < iostream>
using namespace std;
int main()
{ int N; int **A;
int muls = 1; int sum = 0;
cout < < " Enter size "; cin > > N;
srand(time(0));
A = new int*[N];
for (int i = 0; i < N; i++)
{ A[i] = new int[N];
for (int j = 0; j < N; j++)
A[i][j] = 1 + rand() % 10; }
for (int **ptr = A; ptr! = A + N; ++ptr)
{
for (int* it = *ptr; it! = *ptr + N; ++it)
{ cout< < " \t" < < *it;
if (*it % 2 == 0)
{ mult *= *it; sum += *it; } }
cout< < endl;
}
cout< < " sum: " < < sum< < endl;
cout< < " mul: " < < mult< < endl;
for (int k = 0; k < N; k++)
delete[] A[k];
delete[] A;
return 0;
}
| #include < iostream>
#include < time.h>
#include < iomanip>
using namespace std;
int **make_matr(int n)
{ int **matr; int min = -10, max = 10;
matr = new int*[n];
for (int i = 0; i < n; i++)
{ cout < < " \n\n";
matr[i] = new int[n];
for (int j = 0; j < n; j++)
{ matr[i][j] = (int)(((double)rand() /
(double)RAND_MAX) * (max - min) + min);
cout < < setw(4) < < matr[i][j]; } }
return matr; }
int main()
{ int n, nn, **A, **An, i, j;
cout < < " Vvedite razmer: " < < endl; cin > > n;
nn = n * 2;
A = (make_matr(nn));
An = new int*[n];
for (i = 0; i < n; i++)
An[i] = new int[n];
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
(*(*(An + i) + j)) = 0;
| for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{ An[i][j] = A[i][j];
A[i][j] = A[i + n][j + n];
A[i + n][j + n] = An[i][j];
}
for (i = 0; i < n; i++)
for (j = n; j < nn; j++)
{ An[i][j - n] = A[i][j];
A[i][j] = A[i + n][j - n];
A[i + n][j - n] = An[i][j - n];
}
cout < < " \n\n\nRezultat: " < < endl;
for (i = 0; i < nn; i++)
{ cout < < " \n\n";
for (j = 0; j < nn; j++)
cout < < setw(4) < < A[i][j];
}
cout < < " \n" < < endl;
for (i = 0; i < nn; i++)
delete A[i];
delete [] A;
for (i = 0; i < n; i++)
delete An[i];
delete [] An;
return 0;
}
|
В каждой строке заданной матрицы A(N, M) вычислить сумму, количество и среднее арифметическое положительных элементов.
| Дана динамическая матрица A(N, M). Поменять местами ее наибольший и наименьший элементы.
| Разработать функции создания, транспонирования и вывода на экран, динамических квадратных матриц.
|
#include < iostream>
using namespace std;
int ** make_A(int n, int m)
{ int **A, i, j; A = new int*[n];
for (i = 0; i < n; i++)
{ cout < < " \n"; A[i] = new int[m];
for (j = 0; j < m; j++)
{ A[i][j] = rand() % 20;
cout< < " [" < < i< < " ][" < < j< < " ] < < A[i][j]< < " \n";
} } return A;
}
int main()
{ int n, m, **B, k = 0, s = 0; float srd = 0;
cout < < " Vvedite n, m dlya А[n][m]: " < < endl;
cin > > n > > m;
B = (make_A(n, m));
for (int i = 0; i < n; i++)
{cout < < " \n stroka " < < i < < endl;
for (int j = 0; j < m; j++)
{if (*(*(B + i) + j) > 0)
{k++; s = s + (*(*(B + i) + j));
srd = (float)s / (float)k; } }
cout< < " kol=" < < k< < " summa=" < < s< < " srednee=" < < srd< < endl; k = 0; s = 0; }
for (int i = 0; i < n; i++)
delete []B[i]; delete []B;
return 0;
}
| #include < iostream>
#include < iomanip>
using namespace std;
int main()
{ int n, m, i, j, mx=0, mn=100, t, x1, y1, x2, y2;
int **A;
cout < < " Input n i m" < < endl; cin > > n > > m;
A = new int*[n];
for (i = 0; i < n; i++) { A[i] = new int[m];
for (j = 0; j < m; j++)
{ A[i][j] = rand() % 99; } }
cout < < " Isxodniy massiv" < < endl;
for (i = 0; i < n; i++)
{ for (j = 0; j < m; j++)
cout < < setw(4) < < A[i][j]; cout < < endl; }
for (i = 0; i < n; i++)
{ for (j = 0; j < m; j++)
{ if (mx < A[i][j]) {mx = A[i][j]; x1 = i; y1 = j; }
if (mn > A[i][j]) {mn = A[i][j]; x2 = i; y2 = j; }} }
t = A[x1][y1]; A[x1][y1] = A[x2][y2];
A[x2][y2] = t;
cout < < " Rezult " < < endl;
for (i = 0; i < n; i++)
{ for (j = 0; j < m; j++)
cout < < setw(4) < < A[i][j]; cout < < endl; }
for (int i = 0; i < n; i++)
delete []A[i]; delete []A; return 0;
}
| #include < iostream>
#include < time.h>
#include < iomanip>
using namespace std;
int **make_A(int m)
{ srand(time(NULL)); int **A;
A = new int*[m];
for (int i = 0; i < m; i++) A[i] = new int[m];
for (int i = 0; i < m; i++)
{ for (int j = 0; j < m; j++)
{ A[i][j] = rand() % 100; } } return A; }
int **transp_A(int **A, int m)
{ int **TA = new int *[m];
for (int i = 0; i < m; i++) TA[i] = new int[m];
for (int i = 0; i < m; i++)
{ for (int j = 0; j < m; j++) { TA[i][j] = A[j][i]; }
} return TA; }
void prntA(int **A, int m)
{for (int i = 0; i < m; i++)
{for (int j = 0; j < m; j++)
{cout < < setw(4) < < A[i][j]; } cout < < " \n"; } }
int main()
{ int m; cout < < " Enter the size: "; cin > > m;
int **B = make_A(m);
prntA(B, m); int **TB = transp_A(B, m);
prntA(TB, m);
return 0;
}
|
| | | | |