Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] cin и cout заменить на scanf и printf

Ответить
Настройки темы
C/C++ - [решено] cin и cout заменить на scanf и printf

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет. Вообщем препод придрался к коду, и требует, чтобы я cin и cout заменил на scanf и printf. Поможете? или хотя бы пример для преобразования покажите, сам постараюсь выполнить. Заранее спасибо.
Код: Выделить весь код
#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;
}

Отправлено: 18:34, 13-04-2014

 

Аватара для Prof

Пользователь


Сообщения: 64
Благодарности: 2

Профиль | Отправить PM | Цитировать


Гуглить не пробовали? Тыц

Отправлено: 19:00, 13-04-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


пробовали) наткнулся на похожую статью, попробовал перевести, но выдало ошибку "Необработанное исключение в "0x0fcfe42e (msvcr100d.dll)" в "Lab4_Khudasov.exe": 0xC0000005: Нарушение прав доступа при записи "0x009c5744".". По-моему я тут намудрил, когда из cin в scanf переводил
cin >> Array[i][0]; ------> scanf ("%d", "Array[i][0]");
вот собственно сам код, отредактированный
Код: Выделить весь код
#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;
}
ой...я оказывается там & подставить забыл, все заработало) теперь другая проблема
printf ("Array[i][0]", ""); //выводим элементы с максимальным числом повторов
он мне не элементы выводит, а тупо само "Array[i][0]", что тут не так?)

Отправлено: 19:08, 13-04-2014 | #3


Аватара для Prof

Пользователь


Сообщения: 64
Благодарности: 2

Профиль | Отправить PM | Цитировать


scanf("%d", &Array[i][0]);
И вывод посмотрите.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:14, 13-04-2014 | #4


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


все отредактировал, все работает, спасибо!)

Отправлено: 19:21, 13-04-2014 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] cin и cout заменить на scanf и printf

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
printf() lora.1 Вебмастеру 0 10-09-2012 23:40
Assm - Проблема с scanf svdanik Программирование и базы данных 0 14-06-2011 01:45
Java - Как заменить заменить символ \ на \\ , с помощью replaceall ? Большой Кол Программирование и базы данных 3 29-04-2011 05:37
C/C++ - Определение printf alzgamer Программирование и базы данных 1 03-11-2007 16:38
cin и cout корректно ли работают в MSVC 6.0? Crew Программирование и базы данных 6 01-07-2003 21:06




 
Переход