Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Frozen_Sky
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 14
#1

Cin и cout заменить на scanf и printf - C++

13.04.2014, 18:37. Просмотров 612. Ответов 4
Метки нет (Все метки)

Препод придрался к коду и требует, чтобы я cin и cout заменил на scanf и printf. Поможете? или хотя бы пример для преобразования покажите? Сам постараюсь выполнить. Заранее спасибо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "stdafx.h"
#include "conio.h"
#include "iostream"
using namespace std;
 
 
int main()
{
    cout  << endl;
    unsigned int lenthOfArray=0;         //переменная длины массива
    cin >> lenthOfArray;                 //считываем длину массива
 
    //создаем Массив 
    int** Array = new int *[lenthOfArray];
    for (int i = 0; i < lenthOfArray; i++)
        Array[i] = new int [2];
 
    for(int i=0;i<lenthOfArray;i++)
    {
        Array[i][1]=0;                  //заполняем 0 количество повторов для каждого элемента
    }
    unsigned int max=0;
    cout <<   endl;
    for(int i=0;i<lenthOfArray;i++)
    {
        cin >> Array[i][0];            //считываем массив
        for(int j=0;j<i;j++)
        {
            if(Array[j][0]==Array[i][0])
                Array[i][1]++;         //увеличиваем на 1, если такой элемент уже встречался
        }
    }
    
    for(int i=0;i<lenthOfArray;i++)
    {
        if (Array[i][1]>max)
            {
                max=Array[i][1];       //ищем максимальное число повторов
            }
    }
    cout  << endl;
    for(int i=0;i<lenthOfArray;i++)
    {
        if (Array[i][1]==max)
            {
                cout << Array[i][0] << " ";   //выводим элементы с максимальным числом повторов
            }
    }
    getch();
    
    for (int i = 0; i < lenthOfArray; i++)
    {
        delete [] Array[i];
    }
    delete [] Array;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2014, 18:37     Cin и cout заменить на scanf и printf
Посмотрите здесь:

printf и scanf против cin и cout C++
C++ scanf и printf или cin и cout
Заменить printf scanf на cout cin C++
Переделать scanf, printf в cin, cout C++
C++ Заменить printf на cout, scanf на cin
Отличие printf/scanf от cout/cin C++
C++ Заменить cout на printf а cin на scanf
C++ Нужно заменить cout на printf а cin на scanf
C++ Нужно заменить cout на printf а cin на scanf
C++ Заменить cin / cout на scanf / printf
Переделать scanf и printf в cin и cout C++
Заменить scanf и printf на cin и cout C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tuma
59 / 40 / 18
Регистрация: 28.09.2013
Сообщений: 188
13.04.2014, 18:44     Cin и cout заменить на scanf и printf #2
cout << endl; -> printf ("\n");
cin >> lenthOfArray; -> scanf ("%i ", &lenthOfArray);
Вроде так
Frozen_Sky
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 14
13.04.2014, 19:04  [ТС]     Cin и cout заменить на scanf и printf #3
спасибо, буду пробовать)

Добавлено через 8 минут
переделал, запустил, вылетела ошибка "Необработанное исключение в "0x0fcfe42e (msvcr100d.dll)" в "Lab4_Khudasov.exe": 0xC0000005: Нарушение прав доступа при записи "0x009c5744"." Я с таким впервые сталкиваюсь, не подскажете? собственно вот как переделал код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "stdafx.h"
#include "conio.h"
#include "iostream"
using namespace std;
 
 
int main()
{
    printf ("\n");
    unsigned int lenthOfArray=0;         //переменная длины массива
    scanf ("%d ", &lenthOfArray);                 //считываем длину массива
 
    //создаем Массив 
    int** Array = new int *[lenthOfArray];
    for (int i = 0; i < lenthOfArray; i++)
        Array[i] = new int [2];
 
    for(int i=0;i<lenthOfArray;i++)
    {
        Array[i][1]=0;                  //заполняем 0 количество повторов для каждого элемента
    }
    unsigned int max=0;
    printf ("\n");
    for(int i=0;i<lenthOfArray;i++)
    {
        scanf ("%d", "Array[i][0]");            //считываем массив
        for(int j=0;j<i;j++)
        {
            if(Array[j][0]==Array[i][0])
                Array[i][1]++;         //увеличиваем на 1, если такой элемент уже встречался
        }
    }
    
    for(int i=0;i<lenthOfArray;i++)
    {
        if (Array[i][1]>max)
            {
                max=Array[i][1];       //ищем максимальное число повторов
            }
    }
    printf ("\n");
    for(int i=0;i<lenthOfArray;i++)
    {
        if (Array[i][1]==max)
            {
                printf ("Array[i][0]", "");   //выводим элементы с максимальным числом повторов
            }
    }
    getch();
    
    for (int i = 0; i < lenthOfArray; i++)
    {
        delete [] Array[i];
    }
    delete [] Array;
    return 0;
}
Добавлено через 7 минут
по-моему я тут намудрил, когда из cin в scanf переводил
cin >> Array[i][0]; ------> scanf ("%d", "Array[i][0]");
kiborgdelto
70 / 72 / 27
Регистрация: 23.03.2011
Сообщений: 141
13.04.2014, 19:08     Cin и cout заменить на scanf и printf #4
C++
1
scanf ("%d", "Array[i][0]");
должно быть так
C++
1
scanf ("%d", &Array[i][0]);
и
C++
1
 printf ("Array[i][0]", "");
должно быть
C++
1
 printf ("%d", Array[i][0]);
Frozen_Sky
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 14
13.04.2014, 19:13  [ТС]     Cin и cout заменить на scanf и printf #5
ойойой, столько глупых ошибок, спасибо большое, все исправил, все работает)
Yandex
Объявления
13.04.2014, 19:13     Cin и cout заменить на scanf и printf
Ответ Создать тему
Опции темы

Текущее время: 15:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru