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

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

Войти
Регистрация
Восстановить пароль
 
booogabooo
5 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 50
#1

Ввести переменные с клавиатуры - C++

25.01.2014, 14:54. Просмотров 418. Ответов 4
Метки нет (Все метки)

В программе все значения заданы как константы. Помогите изменить код так, чтобы элементы массива(не одномерный) и константы можно было вводить с клавиатуры...пытался изменить, но программа выдает ошибки...
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
#include "stdafx.h"
#include <iomanip>
#include <stdio.h>
#include <iostream>
#include <fstream>
 
using namespace std;
 
const int size = 3;
const int n = 2;
const int s = 1;
const float a[size][size] = {{3.1,1.6,9.3},
{1.5,2.3,4.5},
{2.2,6.4,4.4}};
 
void inp(float *b)
{
 ofstream out("C:\\Logan\\InputFile.txt");
 //if (!inp){ cout << "File is not exist"; return 0 }
 out << "Array A:" << endl;
 for (int i = 0; i < size; i++)
 {
 for (int j = 0; j < size; j++) out << setw(4) << a[i][j];
     out << endl;
 }
    for (int i = 0; i < size; i++)
        b[i] = a[i][n] / a[i][s];
} 
 
void out(const float *mas)
{
     ofstream out("C:\\Logan\\OutputFile.txt");
 out << "Array B:" << endl;
 for (int i = 0; i < size; i++) 
     out << setw(8) << mas[i];
 out << endl;
}
 
 int _tmain(int argc, _TCHAR* argv[])
{ 
    float b[size];
    inp(b);
    out(b);
    cout << "Files were created sucsessfull..." << endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 14:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввести переменные с клавиатуры (C++):

Ввести с клавиатуры массив, распределить память для его размещения и ввести int значения этого массива - C++
Подскажите пожалуйста. Задача такая : ввести с клавиатуры n элементов массива, распределить память для его размещения и ввести int значения...

Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. - C++
Привет всем. Как ввести двумерный массив с клавиатуры? Его размерность нужно задавать с клавиатуры.

Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов. - C++
Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов. Начиная от этого...

Ввести с клавиатуры а и b - C++
Ввести с клавиатуры а и b. Проверить условие! а) b&gt;=a б) b!=a||b-1

Ввести массив с клавиатуры - C++
Задание: В списке L из каждой группы подряд идущих элементов с равными значениями оставить только один. // Third.cpp : Defines the...

Ввести размерность матрицы с клавиатуры - C++
Задача: создать массив N*M, (ввод размерности с клавиатуры) и вывести его на экран. Написала код, но где-то видимо туплю, помогите,...

4
some_name
Вежливость-главное оружие
226 / 224 / 55
Регистрация: 19.02.2013
Сообщений: 1,441
25.01.2014, 15:28 #2
Цитата Сообщение от booogabooo Посмотреть сообщение
константы можно было вводить с клавиатуры
на то и она константа, что ее нельзя менять. Вам надо использовать динамические массивы, или векторы

Добавлено через 8 минут
Может пригодится:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Выделение памяти под двумерный массив
int** matrix_constructor(int size)
{
    int** matrix_new = new int* [size]; 
    for (int i = 0; i < size; i++) matrix_new[i] = new int[size];
    return matrix_new;
}
 
//Освобождение памяти
void matrix_destructor(int** matrix, int size)
{   
    for (int i = 0; i < size; i++) delete matrix[i];
    delete matrix;  
}
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
25.01.2014, 15:52 #3
Цитата Сообщение от some_name Посмотреть сообщение
C++
1
delete matrix[i];
однако, не так ли?
C++
1
delete [] matrix[i];
и в строке ниже
C++
1
delete [] matrix;
0
some_name
Вежливость-главное оружие
226 / 224 / 55
Регистрация: 19.02.2013
Сообщений: 1,441
25.01.2014, 15:53 #4
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
однако, не так ли? ... и в строке ниже

да, вы правы. который раз такой косяк у меня(
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
25.01.2014, 16:25 #5
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
58
59
60
61
62
63
64
#include <iostream>
#include <iomanip>
#include <fstream>
 
using namespace std;
 
 
void inp(float *b, size_t size)
{
    int **a = new int *[size];
    cout << "Input matrix: " << endl;
    for (int i = 0; i < size; i++) {
        a[i] = new int [size];
        for (int j = 0; j < size; j++) {
            cout << "a[" << (i + 1) << "][" << (j + 1) << "]: ";
            cin >> a[i][j];
        }
    }
    system("cls");
 
    ofstream out("C:\\InputFile.txt");
    //if (!inp){ cout << "File is not exist"; return 0 }
    out << "Array A:" << endl;
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++) out << setw(4) << a[i][j];
        out << endl;
    }
 
    size_t n, s;
    cout << "n, s - ";
    cin >> n >> s;
 
    for (int i = 0; i < size; i++)
        b[i] = (double)(a[i][n]) / (double)(a[i][s]);
 
    for (int i = 0; i < size; i++)
        delete [] a[i];
    delete [] a;
}
 
void out(const float *mas, size_t size)
{
    ofstream out("C:\\OutputFile.txt");
    out << "Array B:" << endl;
    for (int i = 0; i < size; i++)
        out << setw(8) << mas[i];
    out << endl;
}
 
int main()
{
    size_t size;
    cout << "Size: ";
    cin >> size;
 
    float *b = new float [size];
    inp(b, size);
    out(b, size);
    cout << "Files were created sucsessfull..." << endl; 
    delete [] b;
    system("pause");
    return 0;
}
0
25.01.2014, 16:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2014, 16:25
Привет! Вот еще темы с ответами:

Как ввести EOF с клавиатуры? - C++
как ввести EOF c клавиатуры ?

Ввести с клавиатуры, построить матрицу - C++

Ввести с клавиатуры два массива - C++
Ввести с клавиатуры два массива с одинаковым количеством элементов. Вывести на экран одномерный массив, четными элементами которого будут...

Ввести размерность матрицы с клавиатуры - C++
Привет,мир! Как сделать так, чтобы самому задавать размерность матрицы. #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std;...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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