Прежде, чем составлять блок схему, надо написать правильно работающий код. А код твоего первого задания работает заведомо неправильно.
#include
int main() {
char str[1024];
printf("Введите строку: ");
fgets(str, sizeof(str), stdin);
char *dst = str;
int flg = 1;
for (char *src = str; *src; ++src) {
if (*src == '(') {
flg = 0;
} else if (*src == ')') {
flg = 1;
} else if (flg) {
*dst++ = *src;
}
}
*dst = '\0';
printf("Строка после удаления: %s", str);
}
Ноутбук АккаунтовичПрофи (509)
1 год назад
Высшее разумейство, хочу отметить, что надо составить блок-схему, а не программу, условие задачи дано, чтобы понять что вообще подразумевается в программе
Сами программы с условиями задачи:
1) Создать программу на языке СИ, которая будет удалять часть строки, заключенную в круглые скобки.
Сама программа:
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, start, end;
printf("Введите строку: ");
fgets(str, sizeof(str), stdin);
len = strlen(str);
for(i=0; i<len; i++)
{
if(str[i] == '(')
{
start = i;
}
else if(str[i] == ')')
{
end = i;
break;
}
}
for(i=start; i<=end; i++)
{
str[i] = '\0';
}
printf("Строка после удаления: %s", str);
return 0;
}
2)Составить программу на языке СИ (не СИ ++) для вычисления значения функции y = f (x) в точках x при заданных значениях a. Нахождение значения функции f(x) при заданных значениях а оформить в виде подпрограммы. Результат вывести в виде двумерной таблицы.
y = (sin(3x+e^x))/(√((ax^2)+3)))
Исходные данные:
x= {3; 4; 5; 6; 7; 8; 9}
a= {1; 2; 4; 7}
Сама программа:
#include<stdio.h>
#include<math.h>
double f(double x, double a) //подпрограмма для вычисления значения функции
{
return (sin(3*x+exp(x)))/(sqrt(a*pow(x,2)+3));
}
int main()
{
double x[] = {3, 4, 5, 6, 7, 8, 9};
double a[] = {1, 2, 4, 7};
printf(" x\\a ");
for(int i=0; i<4; i++)
{
printf("| %.0f ", a[i]);
}
printf("|\n");
for(int i=0; i<75; i++)
{
printf("-");
}
printf("\n");
for(int i=0; i<7; i++)
{
printf(" %.0f ", x[i]);
for(int j=0; j<4; j++)
{
printf("| %.4f ", f(x[i], a[j]));
}
printf("|\n");
}
return 0;
}