Заменить cout на printf а cin на scanf

lena0106

#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
int N, M, p;
cout << "Введите размерность массива:" << endl;
cout << "N = ";
cin >> N;
cout << "M = ";
cin >> M;
int A[N][M], B[M];
cout << "Введите массив:" << endl;
for (int i = 0; i < N; i++) 
{
for (int k = 0; k < M; k++) 
{
cin >> A[i][k];
}
}
for (int k = 0; k < M; k++) 
{
p = 0;
for (int i = 0; i < N; i++) 
{
if (A[i][k] == 0) p++;
}
if (p == N) {B[k] = 0;} else {B[k] = 1;} 
}
cout << "Искомый массив:" << endl;
for (int k = 0; k < M; k++) 
{
cout << B[k] << " ";
}
cout << endl;
system("pause");
return 0;
}
11 ответов

lena0106

У Вас ошибка с массивами, они должны быть динамическими, если хотите чтоб размер не был явно обьявлен.


lena0106

MDJH, вопрос в замене cout/cin на scanf/printf)
#include <iostream>
#include <cmath>
#include <stdio> ( или <stdio.h> в зависимости от версии компилятора)
 
using namespace std;
 
int main()
{
int N, M, p;
printf ("Введите размерность массива:\n");
printf ("N = ");
scanf("%d", &N);
printf("M = ");
scanf("%d", &M);
int A[N][M], B[M];
printf("Введите массив: \n");
for (int i = 0; i < N; i++) 
{
for (int k = 0; k < M; k++) 
{
scanf("%d", &A[i][k]);
}
}
for (int k = 0; k < M; k++) 
{
p = 0;
for (int i = 0; i < N; i++) 
{
if (A[i][k] == 0) p++;
}
if (p == N) {B[k] = 0;} else {B[k] = 1;} 
}
printf( "Искомый массив: \n");
for (int k = 0; k < M; k++) 
{
printf("%3d", B[k]);
}
printf("\n");
system("pause");
return 0;
}
если надо могу написать динам массивы. если какие ошибки отпиши


lena0106

cout << "Введите размерность массива:" << endl;
printf("Введите размерность массива:\n");


lena0106

    printf("Введите размерность массива: \nN = ");
scanf_s("%i", &N);
printf("\nM = ");
scanf_s("%i", &M);
printf("Введите массив:\n");
printf("Искомый массив:\n");


lena0106

fire_Rising, Спасибо, работает, но у меня не получается ввести размер массива с клавиатуры.Помогите через указатели написать.


lena0106


lena0106

    int n;
    printf("Введите размер массива: ";
    scanf("%d", &n);
    int* A=new int[n];


lena0106

fire_Rising,
int *N;
Это Вы погорячились!


lena0106

zss,


lena0106

fire_Rising, А как будут динамические массивы


lena0106

lena0106, int *a = new int[10] к примеру, здесь мы выделяем память, далее через цикл заполняем