Я пытался заставить этот код работать, но почему-то я не могу этого сделать.
#include <iostream.h>
#include <stdio.h>
int main() {
int a,b,c;
int y=3;
int i=2;
int g[] = {20};
int m,k;
int Z;
printf("Enter a number for a");
scanf("%d", &a);
printf("Enter a number for b");
scanf("%d", &b);
printf("Enter a number for c");
scanf("%d", &c);
m=y;
do
{
Z = a+b-c;
switch(Z)
{
case '0':
case '1':
k=17;
m+=b;
break;
case '2':
m+=b;
m=a;
break;
case '3':
m=a-c;
m+=b;
m=a;
break;
case '7':
m+=b;
break;
default:
m=a;
break;
}
g[m] = m%i;
m--;
}while(m>b);
}
Это та схема, которую мне пришлось превратить в кодирование. http://ff.tu-sofia.bg/PIK/Izpiti/MidTest07.html
y и я по умолчанию равны 3 и 2, массив g должен содержать 20 целых чисел, и пользователи должны вводить значения для a, b и c.
Z - целое число, и ваши случаи ищут строки. избавиться от котировок вокруг чисел в случаях.
В этом случае массив g не содержит 20 целых чисел, в этом случае он содержит один элемент 20. Я думаю, что вы имели в виду g[20] = {}
Также как рассчитывается Z? Это (a+ b) -c или a+ (b -c)? Вам нужны скобки, чтобы сделать ваше намерение более ясным
Z = a+b-c;
switch(Z)
{
case 0:
case 1:
k=17;
m+=b;
break;
case 2:
m+=b;
m=a;
break;
'
окружает символ, а не строку Значение char'0'
равно 0.