Ошибка при работе с массивом - Для индекса требуется массив или указатель - C (СИ)
Формулировка задачи:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include<iostream>
int main(){
setlocale(0, "Russian");
srand(time(0));
int a = 0, i = 0;
int one, two;
printf("Введите число: ");
scanf("%d", &one);
for (int i=0; i<10; i++){
printf("%d\n", a=rand()%100+1);
}
for (int j = 0; j<10; j++) {
if(a[i]>one) {
i++;
}
} printf("J = %d", i);
getch();
}Решение задачи: «Ошибка при работе с массивом - Для индекса требуется массив или указатель»
textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include<iostream>
int main(){
setlocale(0, "Russian");
const int k=10;
int a[k];
srand(time(0));
int one, h=0;
printf("Введите число: ");
scanf("%d", &one);
for (int i=0; i<k; i++){
printf("%d\n", a[i]=rand()%100+1);
}
for (int j = 0; j<10; j++) {
if(a[j]>one) {
h++;
}
} printf("J = %d", h);
getch();
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью, вводом/выводом данных и генерацией случайных чисел.
- Установка русской локали для вывода информации.
- Объявление константы k, которая определяет размер массива a.
- Создание массива a с помощью оператора new[].
- Инициализация генератора случайных чисел с помощью функции srand(time(0)).
- Ввод числа с клавиатуры с помощью функции scanf().
- Заполнение массива a случайными числами от 1 до 100 с помощью цикла for и функции rand().
- Вывод на экран всех элементов массива a с помощью цикла for и функции printf().
- Проверка каждого элемента массива a на условие a[j]>one и увеличение переменной h при выполнении условия.
- Вывод значения переменной h на экран с помощью функции printf().
- Ожидание нажатия клавиши с помощью функции getch().