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

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

Войти
Регистрация
Восстановить пароль
 
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
#1

Строковые массивы, вывод и операции над числами в двумерном массиве - C++

13.03.2013, 22:48. Просмотров 1062. Ответов 11
Метки нет (Все метки)

Как задать динамически массив строк (строк должно быть 10, может и статический подойдет?) и как оперировать над числами в двумерном массиве?
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
int matrix[2][2];
int i,j;
string s;
for(i=0;i<2;i++)
{
cout<<"Enter student's name"<<endl;
cin>>s;
cout<<"Enter evaluations"<<endl;
for(j=0;j<2;j++)
{
cin>>matrix[i][j];
}
}
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
cout<<s<<" "<<matrix[i][j];
}
cout<<endl;
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 22:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строковые массивы, вывод и операции над числами в двумерном массиве (C++):

Операции над натуральными числами - C++
Привет всем, я новенький как на форуме так и на в программировании. Начал изучать с++ 2 недели назад,самоучка, так что сильно не кричите)) ...

Операции над комплексными числами - C++
В данной программе нужно создать дружескую функцию класса Komplex. Таким образом чтобы читалась строка с5=2+с1. Как это правильно сделать??...

Операции над большими числами - C++
Здравствуйте. Хочу создать класс выполняющий арифметические операции над большие числа (знаю что велосипед, делаю в учебных целях). Класс...

Операции над числами матрицы - C++
Заполнить матрицу случайными числами. Отобразить симметрично относительно горизонтальной оси сектора матрицы, которые лежат выше и ниже...

Операции над комплексными числами - C++
Дано вот такое задание: Написать программу на языке C++, реализующую арифметику комплекс- ных чисел. Должны быть как минимум определены...

Арифметичиские операции над двоичными числами - C++
Всем привет)) хочу показать то, что у меня вышло по данному вопросу. А вопрос был таким (сам себе его поставил): сделать арифметичиские...

11
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
13.03.2013, 22:53 #2
судя по всему, вам необходима структура
0
el Domaco
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 16
13.03.2013, 22:59 #3
Цитата Сообщение от Satansoft Посмотреть сообщение
Как задать динамически массив строк (строк должно быть 10, может и статический подойдет?)
какой длинны? для чего? нужно знать конечную цель, если просто так, то двумерным массивом, но не забывать вставлять в конец '\0', если нет, то будем думать


Цитата Сообщение от Satansoft Посмотреть сообщение
и как оперировать над числами в двумерном
оперировать в рамках какой цели, для чего? что именно требуется от двумерного массива???
0
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
13.03.2013, 23:05  [ТС] #4
Нужно вывести матрицу оценок 10 студентов 10 оценок на каждого, посчитать среднее по студенту и среднее по каждому предмету(то есть среднее на каждом шаге?) не понятно как в структуре реализовать второе...

Добавлено через 5 минут
Цитата Сообщение от el Domaco Посмотреть сообщение
какой длинны? для чего
Имена студентов, длины не более 25, например
Цитата Сообщение от el Domaco Посмотреть сообщение
оперировать в рамках какой цели, для чего? что именно требуется от двумерного массива???
Поиск среднего значения на каждом шаге между 10 студентами и среднее между 10 значениями каждого студента

В качестве реализации, на каждого студента выделить по строке в 10 значений, циклом заполнить матрицу, а далее (не в курсе как) оперировать с ячейками её строк, а именно находить среднее...
0
el Domaco
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 16
13.03.2013, 23:14 #5
Ну, мне сразу приходит на ум школьный журнал. Я бы решил это так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <clocale>
using namespace std;
setlocale(LC_CTYPE,"Russian");
 
char surname[10][50];
int pupil[10][10];
for(int i=0;i<10;i++){
cout<<"Введите данные "<<i<<" студента\n\n"
      <<"фамилию: ";  cin.getline(surname,50); 
cout<<"10 оценок подряд: ";
 
    for(int j=0;j<10;j++){
         cout<<j<<"\t"; cin>>pupil[i][j];
    }
}
стоп, а вот с предметом по подробнее. Сколько их и сколько оценок должно быть в каждом из них или максимальное допустимое значение
0
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
13.03.2013, 23:42  [ТС] #6
10 студентов и 10 предметов. Нужно найти среднее арифм. по каждому студенту и по каждому предмету 10 студентов. Задать статический массив спецификацией char s[10][255] не получается, в чем причина?

Добавлено через 8 минут
Ошибка найдена, но как все таки оперировать с элементами двумерного массива при нахождении среднего. арифметического?

Добавлено через 7 минут
Так же не ясно, где хранить значения среднего на каждой итерации.
0
el Domaco
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 16
13.03.2013, 23:44 #7
Смотри, ты знаешь, что у тебя 10 предметов, так?
C++
1
2
3
4
5
6
7
8
9
//хранение предметов
char student*[] = {
    "Иванов","Алдошин","Петров","Нумизматов","Сигва","Шульга","Сивак","Незнайко","Безбилетный","ботаник"
};
 
//хранение предметов
char s*[] = {
    "химия","алгебра","история","физика","иностранный","музыка","география","геометрия","физра","биология"
};
Цитата Сообщение от Satansoft Посмотреть сообщение
спецификацией char s[10][255] не получается, в чем причина?
что именно не получается? не понял вопроса


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
значит можно применить матрицу
int pupil[10 предметов][10 студентов][10 оценок];
//если все оценки не будут заполнены, то желательно предварительно инициализировать весь массив нулями
 
например выведем ср. арифметическое 3 студента
int i = 3,score=0;
for(int w=0; w<10; w++){
    for(int q=0; q<10; q++){
        score += pupil[w][i][q]; 
    }
}
score/=100; //по 10 оценок для каждого из 10 предметов
printf("студент: %s ср. ариф. %d",student[i],score);
0
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
13.03.2013, 23:55  [ТС] #8
массива достаточно двумерного [10 студентов] [10 оценок]

Добавлено через 4 минуты
Оценки ввести нужно...
0
el Domaco
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 16
13.03.2013, 23:56 #9
Цитата Сообщение от Satansoft Посмотреть сообщение
массива достаточно двумерного [10 студентов] [10 оценок]

Добавлено через 4 минуты
Оценки ввести нужно...
я показал как я бы решил это. Материала достаточно или ещё что-то не понятно?
0
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
14.03.2013, 00:00  [ТС] #10
Нужна таблица формата:
Студент Введенные 10 оценок Средняя оценка студента
...
...
Внизу, под каждой введенной оценкой ( в столбик) средняя этого столбика.

Такое оформление не обязательно, но условие нужно выполнить. Если короче: Среднее арифметическое каждого столбца и каждой строки в матрице 10х10. Так же нужно присобачить имена студентов с левого края, напротив каждой строки.
0
el Domaco
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 16
14.03.2013, 00:23 #11
если честно мне в лом создавать новый проект, я напишу, а ты если что исправь ошибки

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
#include <iostream>
#include <clocale>
#include <windows.h>
using namespace std;
 
#define _Rus setlocale(LC_CTYPE,"Russian");
 
int znach_h(int pupil[]){
    int score=0;
    for(int j=0; j<10; j++){
        score+=pupil[j];
    }
    return score/=10;
}
 
void znach_v(int pupil[][10],int column){
    int score=0,j=column; 
    for(int i=0; i<10; i++){        
        score+=pupil[i][j];     
    }
    printf("%d\t",score/=10);
}
 
int main(){     int pupil[10][10]; //ввести оценки, сам напиши
//хранение предметов
char *student[] = {
    "Иванов","Алдошин","Петров","Нумизматов","Сигва","Шульга","Сивак","Незнайко","Безбилетный","ботаник"
};
 
for(int i=0; i<10; i++){
    printf("%25s ",student[i]);
    for(int j=0; j<10; j++){
        cout<<j<<' ';
    }   cout<<znach_h(pupil[i])<<'\n';
}//i
for(int i=0; i<10; i++){
    znach_v(pupil,i);
}
}
0
el Domaco
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 16
15.03.2013, 10:09 #12
Какой не культурный человек, хоть бы спасибо сказал что ли
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 10:09
Привет! Вот еще темы с ответами:

Строки с действительными числами, операции над ними - C++
Напишите программу, которая вводит 4 строки, представляющие значения с плавающей точкой, преобразует строки, удваивая значения, суммирует и...

Строки с действительными числами, операции над ними - C++
Напишите программу, которая вводит 4 строки, представляющие значения с плавающей точкой, преобразует строки, удваивая значения, суммирует и...

Арифметические операции над действительными числами согласно условию - C++
Даны действительные числа x и y. Если оба числа положительны и ни одно из них не принадлежит отрезку , то оба числа разделить на 2, иначе...

Операции над комплексными числами с использованием перегруженных операций - C++
Написать программу, выполняющую операции над комплексными числами, используя перегруженные операции.


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
15.03.2013, 10:09
Ответ Создать тему
Опции темы

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