Виправити програму, яка б реалізовувала:
1) введення і виведення деякого рядка (через команди бібліотеки і контролюючи обмеження функцією ;
2) роботу з рядком за механізму покажчиків:
- використовуйте змінну str як покажчик на рядок;
- виведіть рядок за циклу по одному символу, пересуваючи покажчик str кожного разу на наступний символ.
#include
#include
#include
int main(){
int max = 20;
char str[max];
std: : cout < < "input string: ";
std: : cin > > str> > setw(20);
std: : cout < < "you’ve input: " < < str;
int i;
char* p;
p = str;
for ( i = 0; i < max; i++){
// if ( *p == null)break;
printf("%c\n", *p);
p++;
}
return 0;
}
потрібно виправити або написати нову на с++. бажано виправити, щоб я бачив свої помилки.
n = 40;
var
x: array[1..n] of integer;
i, k, s: integer;
begin
Randomize;
Writeln('Элементы массива');
k := 0; s := 0;
for i := 1 to n do
begin
x[i] := Random(50);
Write(x[i]:3);
end;
Writeln;
Writeln('Элементы со значением в интервале [7;10]');
for i := 1 to n do
if (x[i] >= 7) and (x[i] <= 10) then
begin
k := k + 1; s := s + x[i];
Write(x[i]:3)
end;
if k = 0 then Writeln('не найдены')
else Writeln(#13#10, ' Элементов:', k, ', среднее арифметическое=', s / k:5:3)
end.
Тестовое решение:
Элементы массива
24 33 36 29 12 7 5 36 3 48 40 40 46 6 10 23 33 3 38 48 29 37 11 40 44 16 17 18 34 38 33 39 9 0 41 37 42 2 40 31
Элементы со значением в интервале [7;10]
7 10 9
Элементов:3, среднее арифметическое=8.667
#include <iostream>
int main() {
double a = 5.0, b;
int c, d = 5;
std::cin >> b >> d;
a = a + b - 2;
d = ++c - a + d;
a *= c--;
//Не знаю как это предполагалось записывать в одну строчку, поэтому юзаем чит.
a /= 10 + 0 * (c /= 2) + 0 * (--b) + 0 * (d *= c + b + a);
return 0;
}
Должно работать. Если не работает строчку перед return меняем на:
a /= 10 || c /= 2 || --b || d *= c + b + a;
Да, оно ничего не выводит. Ты не написал что оно должно выводить.
P.S. Если у вас не C++, а C меняешь std::cin >> b >> d; на scanf("%f", &a); и scanf("%f", &d); а вместо #include <iostream> пишешь #include <stdio.h>