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

Ввод данных с клавиатуры - C++

Восстановить пароль Регистрация
 
kolya27
0 / 0 / 0
Регистрация: 18.07.2013
Сообщений: 4
18.07.2013, 16:05     Ввод данных с клавиатуры #1
1.«Тестирование коллектива». Пусть целочисленная матрица размером п х т содержит информацию об учениках некоторого класса из п человек. В первом столбце проставлена масса (кг), во втором — рост (см), в третьем — успеваемость (средний балл) и т.д. (используйте свои дополнительные показатели). Ученик называется среднестатистическим по k-му параметру (уникальным по k-му параметру), если на нем достигается минимум (максимум) модуля разности среднего арифметического чисел из k-го столбца и значения k-го параметра этого ученика. Ученик называется самым уникальным (самым средним), если он уникален (является среднестатистическим) по самому большому количеству параметров. По данной матрице определить самых уникальных учеников и самых средних.
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 <iostream.h>
#include <windows.h>
void l1(int** info, int n, int t)
{
int i,j;
int* students_mid = new int[t];
int* students_un = new int[t];
for(i=0; i < n; i++)
{
double mid=0;
for(j = 0; j < t; j++)
{
mid += info[i][j];
} 
mid /= t;
int min_s = 0;
int max_s = 0;
for(j = 0; j < t; j++){
if(abs(mid - info[i][max_s]) > abs(mid - info[i][j]))
max_s = j;
if(abs(mid - info[i][max_s]) < abs(mid - info[i][j]))
min_s = j;
} 
students_mid[min_s]++;
students_un[max_s]++;
}
cout << "Средний:" << endl;
for(i = 0; i < t; i++){
if(students_mid[i] > 0)
cout << "Ученик № " " i " " = " << students_mid[i] << endl;
}
cout << "Уникальный:" << endl;
for(i = 0; i < t; i++){
if(students_un[i] > 0)
cout << "Ученик №" " i " " = " << students_un[i] << endl;
}
}
 
int main()
{
    SetConsoleOutputCP(1251);
int info[3][5] = {{1,2,32,4,5}, {2,36,4,5,6}, {31,4,5,6,7}}; 
int **M = new int*[3];
for (int i=0; i<3; i++) M[i] = info[i];
l1(M,3,5);
return 0;
}
Нужно сделать чтобы массив вводился с клавиатуры.
2.У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-го покупателя равно ti(i=1,…,n). Определить время Ci пребывания i-го покупателя в очереди.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream.h>
 
double l2(double t[],int i, int max)
{
int index = 0;
double time = 0;
if(i > max)
return 0;
for (index = 0; index < i; index++)
time += t[index];
return time;
}
int main()
{
double t[] = {1,2,3,4,5};
double time = l2(t,3,5);
cout << "t[] = {1,2,3,4,5}, time(3) =";
cout << time << endl;
return 0;
}
Здесь тоже нужно номер покупателя ввести с клавиатуры.
Помогите пожалуйста, срочно нужно сдать отчёт, сам ничего не понимаю.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.07.2013, 23:00     Ввод данных с клавиатуры #2
1) :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    SetConsoleOutputCP(1251);
    int info[3][5];// = {{1, 2, 32, 4, 5}, {2, 36, 4, 5, 6}, {31, 4, 5, 6, 7}};
    for (int i = 0; i < 3; ++i)
        for (int j = 0; j < 5; ++j)
        {
            cout << "info[" << i << "][" << j << "] = ";
            cin >> info[i][j];
        }
    int **M = new int*[3];
    for (int i=0; i<3; i++) M[i] = info[i];
    l1(M,3,5);
    return 0;
}
Добавлено через 14 минут
2):
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
double t[] = {1, 2, 3, 4, 5};
int i;
cin >> i;
double time = l2(t, i, 5);
cout << "t[] = {1,2,3,4,5}, time(3) =";
cout << time << endl;
return 0;
}
kolya27
0 / 0 / 0
Регистрация: 18.07.2013
Сообщений: 4
22.07.2013, 11:15  [ТС]     Ввод данных с клавиатуры #3
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
#include <iostream.h>
#include <windows.h>
void l1(int** info, int n, int t)
{
int i,j;
int* students_mid = new int[t];
int* students_un = new int[t];
for(i=0; i < n; i++)
{
double mid=0;
for(j = 0; j < t; j++)
{
mid += info[i][j];
} 
mid /= t;
int min_s = 0;
int max_s = 0;
for(j = 0; j < t; j++){
if(abs(mid - info[i][max_s]) > abs(mid - info[i][j]))
max_s = j;
if(abs(mid - info[i][max_s]) < abs(mid - info[i][j]))
min_s = j;
} 
students_mid[min_s]++;
students_un[max_s]++;
}
cout << "ÑðåäГ*ГЁГ©:" << endl;
for(i = 0; i < t; i++){
if(students_mid[i] > 0)
cout << "Ó÷åГ*ГЁГЄ В№ " " i " " = " << students_mid[i] << endl;
}
cout << "Г“Г*ГЁГЄГ*ëüГ*ûé:" << endl;
for(i = 0; i < t; i++){
if(students_un[i] > 0)
cout << "Ó÷åГ*ГЁГЄ В№" " i " " = " << students_un[i] << endl;
}
}
int main()
{
    SetConsoleOutputCP(1251);
    int info[3][5];
    for (int i = 0; i < 3; ++i)
        for (int j = 0; j < 5; ++j)
        {
            cout << "info[" << i << "][" << j << "] = ";
            cin >> info[i][j];
        }
    int **M = new int*[3];
    for (int i=0; i<3; i++) M[i] = info[i];
    l1(M,3,5);
    return 0;
}
Что значит эта ошибка?
error C2374: 'i' : redefinition; multiple initialization
see declaration of 'i'
castaway
Эксперт С++
4846 / 2985 / 368
Регистрация: 10.11.2010
Сообщений: 11,026
Записей в блоге: 10
Завершенные тесты: 1
22.07.2013, 11:21     Ввод данных с клавиатуры #4
Два объявления переменной i в 42-й и 49-й строках.
Из 49-й убери int.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.07.2013, 12:12     Ввод данных с клавиатуры #5
Цитата Сообщение от kolya27 Посмотреть сообщение
Что значит эта ошибка?
У меня код ошибок не выдаёт. Не вижу я здесь никаких множественных определений.
castaway
Эксперт С++
4846 / 2985 / 368
Регистрация: 10.11.2010
Сообщений: 11,026
Записей в блоге: 10
Завершенные тесты: 1
22.07.2013, 12:19     Ввод данных с клавиатуры #6
Согласен. Поспешил с ответом. В коде нет ошибок.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2013, 12:20     Ввод данных с клавиатуры
Еще ссылки по теме:

Добавить в программу ввод данных с клавиатуры C++
Ввод данных строки с клавиатуры C++
Ввод с клавиатуры данных и запись их в структуру C++

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

Или воспользуйтесь поиском по форуму:
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,308
22.07.2013, 12:20     Ввод данных с клавиатуры #7
А это зависит от компилятора. Если у ТС сильно устаревший компилятор, то он вполне может выдать такую диагностику.
Yandex
Объявления
22.07.2013, 12:20     Ввод данных с клавиатуры
Ответ Создать тему
Опции темы

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