У меня проблема с моим кодом. Он должен принимать от количества пользователей количество в массиве, и пользователь должен написать номер, который он хочет, в диапазоне 1-100.Сбой программы C во время ввода переменных
Также программа должна отображать наименьшее и самое большое число. Если я хочу иметь массив с более чем 7 номерами, он сбрасывается при вводе чисел.
Каждый раз, когда дело доходит до номера 7, программа выходит из строя. Я понятия не имею, почему он не работает.
#include <stdio.h>
#include <stdlib.h>
int n, i, a;
int main()
{
int tab[n];
printf("\nhow many elements you want to have?\n");
do
{
scanf ("%d", &n);
if ((n>30 || n<1))
printf("\ntoo high or too low\n");
}
while ((n<1 || n>30));
printf("\nyour number please:\n");
for(i = 0; i < n; i++)
{
do
{
printf("\nelement %d:", i+1);
scanf("%d", &a);
if ((a < 1 || a > 100))
printf("\nnumber too high or too low\n");
tab[i]=a;
}
while((a < 1 || a > 100));
}
printf("\nyour numbers:");
for (i=0; i<n; i++)
{
printf("\n%d", tab[i]);
}
int min = tab[0];
int max = tab[0];
for (i = 0; i<n; i++)
{
if (tab[i]> max)
max = tab[i];
if(tab[i]< min)
min = tab[i];
}
printf("\nsmallest: %d", min);
printf("\nbiggest: %d", max);
}
'int tab [n];' <- скажите, что означает 'n', когда компьютер выполняет эту строку? – immibis
Предупреждения компилятора Enasble! Затем прочитайте их, поймите и исправьте свой код. – Olaf