Массивы, записи, файлы. Ошибки в программах. - C (СИ)
Формулировка задачи:
1.Массивы.
Задать квадратную матрицу порядка N. Вычислить и запомнить в массиве произведение элементов каждого столбца матрицы.//вроде эелементарно, но я даже не могу задать двумерный массив, хотя с одномерными проблем нет =(
3.Записи.
Даны сведения об игрушках: название игрушки, стоимость и возрастные границы (например, от 4 до 6 лет) Выдать на экран список игрушек для детей старше 3 лет.//после ввода данных, просто вылетает =(
#include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> #include <stdio.h> #include <stdlib.h> struct ig { char n[10]; int st,n_g,v_g; }; struct ig N[15]; main() { int k,i,j; printf("Vvedite kol-vo igrushek "); scanf("%d",&k); for (i = 0; i < k; i++) { printf("Vvedite nazvanie igrushki "); scanf("%s",&N[i].n); printf("Vvedite stoimost igrushki "); scanf("%s",&N[i].st); printf("Vvedite nijniu granisy igrushki "); scanf("%d",&N[i].n_g); printf("Vvedite verhniu granisy igrushki "); scanf("%d",&N[i].v_g); } for (i = 0; i < k; i++) { if(N[i].n_g>3) printf("\nNazvanie: %s",N[i].n); } getch(); return 0;
3. Файлы.
Даны сведения об игрушках: название игрушки, стоимость и возрастные границы (например, от 4 до 6 лет) Выдать на экран список игрушек для детей старше 3 лет//тоже что и в предыдущем, но с записью в файл
#include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> #include <stdio.h> #include <stdlib.h> struct ig { char n[10]; int st,n_g,v_g; }; struct ig N[15]; main() {FILE*f; int k,i,j; f=fopen("igruski.txt","w"); printf("Vvedite kol-vo igrushek "); scanf("%d",&k); for (i = 0; i < k; i++) { printf("Vvedite nazvanie igrushki "); scanf("%s",&N[i].n); printf("Vvedite stoimost igrushki "); scanf("%s",&N[i].st); printf("Vvedite nijniu granisy igrushki "); scanf("%d",&N[i].n_g); printf("Vvedite verhniu granisy igrushki "); scanf("%d",&N[i].v_g); } for (i = 0; i < k; i++) { if(N[i].n_g>3) fprintf(f,"\nNazvanie: %s",N[i].n); } fclose(f); getch(); return 0; }
Решение задачи: «Массивы, записи, файлы. Ошибки в программах.»
textual
Листинг программы
#include <iostream> #include <iomanip> #include <windows.h> using namespace std; int main() { int n=0; int m=0; int i,j; cout<<"Kolichestvo stroc: "<<endl; cin>>n; cout<<"Kolichestvo stolbcov: "<<endl; cin>>m; int A[n][m]; int B[n]; cout<<"Vvedite masiv: "<<n<<'x'<<m<<endl; for(i=0;i<n;i++) for(j=0;j<m;j++) cin>>A[i][j]; int rezalt; for (int i=0; i<n; i++) for (int j=0; j<m; j++){ if (j==0){ rezalt=A[i][0]; } else{ rezalt=rezalt*A[i][j]; B[i]=rezalt; } } for(i=0;i<n;i++){ cout<<endl; for(j=0;j<m;j++){ cout<<setw(2)<<A[i][j]; } } cout<<endl<<endl; for(i=0;i<n;i++) cout<<B[i]<<" "; cout<<endl; system("pause"); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и файлами
- Объявление переменных: n, m, i, j, A, B, rezalt
- Ввод количества строк и столбцов массива A
- Создание двумерного массива A и одномерного массива B
- Ввод элементов массива A с помощью цикла for и функции cin
- Инициализация переменной rezalt значением первого элемента массива A
- Обход массива A с помощью двух вложенных циклов for для расчета произведения элементов
- Запись результата в массив B
- Вывод массива A на экран с помощью цикла for и функции cout
- Вывод массива B на экран с помощью цикла for и функции cout
- Использование функции system(
pause
) для приостановки работы программы до нажатия клавиши - Возвращение значения 0, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д