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

Заполнение массива с использованием указателей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ operator >> http://www.cyberforum.ru/cpp-beginners/thread851417.html
// 1.h #ifndef STONEWT_H_ #define STONEWT_H_ using std::cout; using std::cin; using std::endl; class Stonewt { private: enum {Lbs_per_stn = 14}; // pounds per stone
C++ Сортировка методом пузырька Всем привет. Ругается на i. Пишет Выражение должно иметь тип указателя на объект. В дополнении пишет что swap не определен. Помогите исправить косяки) #include "stdafx.h" #include <iostream> int _tmain(int argc, _TCHAR* argv) { int a, i, flag;//размер массива setlocale(LC_ALL,"Russian"); http://www.cyberforum.ru/cpp-beginners/thread851415.html
C++ перевод консоли на русский раз и навсегда
всем привет, я пока в програмировании полный ноль и столкнулся с такой проблемой как перевод консоли на русский язик, я хочу перевести ее раз и навсегда, как это правильно сделать? каждый раз вводить функцию по-новому не подходит, помогите, пожалуйста...
C++ Вылетает программа
Доброго времени суток, форумчане! Можете объяснить, почему вылетает программа, не выдавая ошибки(компилируется нормально) Задание:абстрактный тип данных(в виде массива) и действия над его элементами #include <stdio.h> #include <string.h> #include <conio.h> #include <iostream.h> #include <alloc.h> #include "ATD.h" //using namespace std;
C++ Оптимизация. Что быстрее работает: cout или printf http://www.cyberforum.ru/cpp-beginners/thread851402.html
Что быстрее работает: cout или printf ????????? Добавлено через 32 минуты ЕЩе вот что: Как выводить число типа флоат с 2 знаками после комы оператором принтф???????
C++ Консольная змейка Добрый день. С недавнего времени я пишу в консоли игру с одноименным названием. Занятие, прошу заметить, довольно увлекательное :) Вроде бы все нормально, но грызет меня червячок сомнения, все ли я правильно делаю. Опыта в разработке более-менее объемных проектов у меня, будем честными, крайне мало. Посему я вполне мог наделать где-то кучу каких-то грубых ошибок, о существовании которых я... подробнее

Показать сообщение отдельно
Shelbanin
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 6
29.04.2013, 19:05  [ТС]     Заполнение массива с использованием указателей
Fler, спасибо большое)
еще возник вопрос, почему, когда я заменяю scanf и printf на getchar() и putchar() при i = 1 и i=3 функция fill_in не вызывается?!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
void fill_in(int *b, int c);
 
int main()
{
    int a[4];
    int *p;
    
    p=&a[0];
    for (int i=0; i<4; i++)
    {
       fill_in(p, i);
       putchar(a[i]);
    }
}
 
void fill_in(int *b, int c)
{
    int m;
    m=getchar();
    *(b+c)=m;
}
Добавлено через 1 час 52 минуты
Еще вопрос, подскажите, как быть, если мне надо, чтобы массив заполнялся словами:
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
#include <stdio.h>
#include <string>
 
using namespace std;
 
void fill_in(string *b, int c);
 
int main()
{
    string s[5];
    string *ps;
    ps=s;
    for (int i=0; i<5; i++)
    {
        fill_in(ps, i);
        printf("%s", s[i]);
    }
}
 
void fill_in(string *b, int c)
{
    string m;
    scanf("%s", m);
    *(b+c)=m;
}
Такой вариант не работает- в массиве содержатся после ввоа какие-то левые символы... И еще, можно ли как-нибудь реальзивоть данную программу не через string, а через char?

Добавлено через 18 часов 57 минут
Подскажите пожалуйста
Цитата Сообщение от Shelbanin Посмотреть сообщение
Fler, спасибо большое)
еще возник вопрос, почему, когда я заменяю scanf и printf на getchar() и putchar() при i = 1 и i=3 функция fill_in не вызывается?!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
void fill_in(int *b, int c);
 
int main()
{
    int a[4];
    int *p;
    
    p=&a[0];
    for (int i=0; i<4; i++)
    {
       fill_in(p, i);
       putchar(a[i]);
    }
}
 
void fill_in(int *b, int c)
{
    int m;
    m=getchar();
    *(b+c)=m;
}
Добавлено через 1 час 52 минуты
Еще вопрос, подскажите, как быть, если мне надо, чтобы массив заполнялся словами:
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
#include <stdio.h>
#include <string>
 
using namespace std;
 
void fill_in(string *b, int c);
 
int main()
{
    string s[5];
    string *ps;
    ps=s;
    for (int i=0; i<5; i++)
    {
        fill_in(ps, i);
        printf("%s", s[i]);
    }
}
 
void fill_in(string *b, int c)
{
    string m;
    scanf("%s", m);
    *(b+c)=m;
}
Такой вариант не работает- в массиве содержатся после ввоа какие-то левые символы... И еще, можно ли как-нибудь реальзивоть данную программу не через string, а через char?
 
Текущее время: 04:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru