Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadachi_Po_Aip.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
7 Мб
Скачать

Void main()

{

setlocale(LC_ALL,"rus");

int Arr[n][n],i=0, j, k = 0, p=1;

while (i < n*n)

{

k++;

for (j=k-1;j<n-k+1;j++)

{

Arr[k-1][j]=p++;

i++;

}

for (j=k;j<n-k+1;j++)

{

Arr[j][n-k]=p++;

i++;

}

for (j=n-k-1;j>=k-1;j--)

{

Arr[n-k][j]=p++;

i++;

}

for (j=n-k-1;j>=k;j--)

{

Arr[j][k-1]=p++;

i++;

}

}

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

{

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

{

printf("%4d",Arr[i][j]);

}

printf("\n");

}

}

7 .(7б) Написать программу, которая демонстрирует отличие автоматических переменных от статических переменных.

#include <iostream>

void func();

Void main()

{setlocale(LC_ALL,"Rus");

for(int i = 0; i < 3; ++i)

func();

}

void func()

{

int y=2;

static int x = 0; ++x;

++y;

printf("Значение static int x=%d\n",x);

printf("Значение int y=%d\n",y);

}

№1

(7б) Написать программу, которая читает строку символов с клавиатуры. Необходимо удалить из строки все цифры и дописать их в конец строки и вывести результат на экран. Длина строки не вводится, а определяется в программе.

#include <iostream>

# include <ctype.h>

using namespace std;

void main(void)

{

setlocale(LC_ALL,"Rus");

char string[300];

char Result[300]={0};

char res[300]={0};

int k;

cout<<"Введите строку : ";

gets(string);

k=(int)strlen(string);

char *ptr = Result,*ua=res;

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

{

if (!isdigitstring[i]))

*ptr++ = string[i];

else *ua++=string[i];}

cout<<endl<<"Результат: "<<Result<<res<<endl;

}

2

(6б) Написать программу, которая читает с клавиатуры строку символов. Необходимо после каждого четвертого пробела вставить точку и удалить последние "лишние" символы. Вывести результат на экран. Длина строки не вводится, а определяется в программе. Если строка не удовлетворяет условию, выдать сообщение об ошибке и предложить ввести снова.

#include <stdio.h>

#include <iostream>

Void main()

{

setlocale (LC_ALL, "Rus");

char X[300];

int i,n=0,k=0;

printf("Введите строку: \n",n);

for(i=0;(X[i]=getchar())!='\n';i++)

n++;

printf("Преобразованная строка: \n");

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

{

if(X[i]==' ')

{

k++;

if (k%4==0)

{

putchar(X[i]);

putchar('.');

}

}

else

putchar(X[i]);

}

printf("\n");

}

7

( 7б) Написать программу, которая читает с клавиатуры строку символов. Необходимо каждую закрывающую скобку ')', для которой нет парной открывающей '(', заменить на '?'. Вывести результат на экран. Длина строки не вводится, а определяется в программе.

#include <conio.h>

#include <iostream>

using namespace std;

Void main ()

{

setlocale(LC_ALL,"Rus");

int i,k = 0,n;

char string[300];

cout<<"Введите строку : ";

gets(string);

n=(int)strlen(string);

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

{

if (string[i]=='(')

k++;

if (string[i]==')')

k--;

if (k<0) {

string[i]='?';

k++;

}

}

printf("Результат:%s",string);

getch ();

}

12.Написать программу, которая читает с клавиатуры строку символов. Необходимо заменить все цифры знаком '+', если в строке цифр больше, чем латинских букв. В противном случае заменить все латинские буквы знаком '-'. Вывести результат на экран. Длина строки не вводится, а определяется в программе.

#include <iostream>

#include <ctype.h>

u sing namespace std;

void main(void)

{

setlocale(LC_ALL,"Rus");

char s[300];

char Result[300]={0};

char res[300]={0};

int k,b,sim;

cout<<"Введите строку : ";

gets(s);

k=(int)strlen(s);

char *ptr = Result,*ua=res;

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

{

if (!isdigit(s[i]))

*ptr++ = s[i];

else *ua++=s[i];}

b=(int)strlen(Result);

sim=(int)strlen(res);

if(sim>b)

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

{if((s[i] == '1' || s[i] == '2' ||

s[i] == '3' || s[i] == '4' ||

s[i] == '5' || s[i] == '6' ||

s[i] == '7' || s[i] == '8' ||

s[i] == '9' || s[i] == '0'))

s[i]='+';}}

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

{if((s[i] == '1' || s[i] == '2' ||

s[i] == '3' || s[i] == '4' ||

s[i] == '5' || s[i] == '6' ||

s[i] == '7' || s[i] == '8' ||

s[i] == '9' || s[i] == '0'))b;

else s[i]='-';

}}

cout<<endl<<"Результат: "<<s<<endl;

}

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

4. Даны текстовые файлы f и g. Необходимо поменять местами содержимое этих файлов (предварительно файлы f и g необходимо заполнить). Используйте вспомогательный файл h. Результат вывести на экран.

#include <conio.h>

#include <stdio.h>

#include <iostream>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]