Все обращения к массиву выполнить с помощью указателей - C (СИ)
Формулировка задачи:
Есть две программы.Задание: все обращения к массиву выполнить с помощью указателей!
#include <iostream>
#include <conio.h>
#include <time.h>
#include <clocale>
const int n = 10;
const int l = 6;
void main ()
{setlocale(LC_ALL, "Russian");
int M[n][l];
int i,j;
srand(time(0));
printf ("Массив целых чисел [10.6]:\n\n");
for( i=0; i<n; i++)
{for( j=0; j<l; j++)
{M[i][j]=-10+rand()%20;
printf (" %d" ,M[i][j]);}
printf("\n");}
printf("\n");
printf("Все отрицательные элементы заменены на их абсолютные значения:\n\n");
for( i=0; i<n; i++)
{for( j=0; j<l; j++)
{if (M[i][j]<0)
M[i][j]=abs(M[i][j]);
printf(" %d" ,M[i][j]);}
printf("\n");}
getch();}#include <stdio.h>
#include <conio.h>
#include <clocale>
#include <cstdlib>
#include <time.h>
void main()
{setlocale(LC_ALL, "Russian");
int A [20];
int s=0;
int d=0;
srand(time(0));
printf ("Массив из 20 случайных чисел:\n");
for (int i=0; i<20; i++)
{A[i]=-50+rand()%100;
printf ("%3d ", A[i]);}
printf("\nКоличество четных чисел:\n");
for (int i=0; i<20; i++)
if (A[i] & 1)
d=d+1;
else
s=s+1;
{printf("%3d",s);}
printf("\nКоличество нечетных чисел:\n");
{printf("%3d",d);}
getch();}Решение задачи: «Все обращения к массиву выполнить с помощью указателей»
textual
Листинг программы
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main(){
int A[20], d=0, s=0;
srand(time(0));
cout<<"Massiv 20 chisel \n\n";
for(int i=0;i<20;i++){
*(A+i)=rand()%100-50;
cout<<*(A+i)<<" ";
}
for(int i=0;i<20;i++){
if(*(A+i)%2==0)s++;
else d++;
}
cout<<"\n\nChetnie "<<s<<"\n\nNechetnie "<<d<<endl;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с потоками ввода-вывода и генерацией случайных чисел
- Объявление переменных: массив A типа int на 20 элементов, d и s типа int и инициализация их значений на 0
- Инициализация генератора случайных чисел с помощью функции srand(time(0))
- Вывод сообщения
Massiv 20 chiselна экран - Первый цикл for, который проходит по всем элементам массива A от 0 до 19 и присваивает каждому элементу случайное значение с помощью оператора *(A+i)=rand()%100-50
- Второй цикл for, который проходит по всем элементам массива A от 0 до 19 и проверяет, является ли значение элемента четным или нечетным, и увеличивает счетчик s или d соответственно
- Вывод на экран количества четных и нечетных чисел в массиве
- Завершение программы с помощью оператора return