Member
Статус: Не в сети Регистрация: 19.12.2005 Откуда: НН Фото: 69
Код:
#include <stdio.h> int main() { const int M = 3; int i, j, k; int A[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}}; int B[3][3] = {{10, 11, 12},{13, 14, 15},{16, 17, 18}}; int C[3][3];
printf("Matrix A\n"); for (i = 0; i < M; i++) { for (j = 0; j < M; j++) printf ("%d\t", A[i][j]); printf("\n\n"); }
printf("Matrix B\n"); for (i = 0; i < M; i++) { for (j = 0; j < M; j++) printf ("%d\t", B[i][j]); printf("\n\n"); } printf("Matrix A * B\n");
for(i = 1; i < M; i++) for(j = 1; j < M; j++) for(k = 1; k < M; k++) C[i][j] += A[i][k]*B[k][j];
for (i = 0; i < M; i++) { for (j = 0; j < M; j++) printf ("%d\t", C[i][j]); printf("\n\n"); } }
Не понимаю почему не компилируется... Ругается на C: variable "C" is used before its value is set.
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
ядерный отход писал(а):
или объявить массив глобально.
Лучше инициализировать переменные самому, а не надеяться на компилятор(чтобы не было вредных привычек). Один лишний memset сильно программу испортить не должен .
Member
Статус: Не в сети Регистрация: 19.12.2005 Откуда: НН Фото: 69
Комрады, а c фортраном не поможете? Добавлено спустя 37 минут, 4 секунды Пытаюсь туже самую программу написать на фортране. Не знаю как сделать у нем умножение двух массивов.
Код:
program p_1
real a(3, 3) real b(3, 3) real c(3, 3) integer :: i, j, k, M = 3
Member
Статус: Не в сети Регистрация: 23.12.2004 Откуда: Беларусь, Минск
как получить результат выполнения консольной команды DIR в С в виде последовательности символов?
У меня клиент по именованому каналу соединяется с сервером и кидает ему CD/DIR/MKDIR а сервер соответсвенно обрабатывает это всё. Соединение и передача команд есть, теперь с сервером разбираюсь... Добавлено спустя 6 минут, 36 секунд точнее с мкдир я разобрался - проще некуда, а с двумя остальными что-то закопался в мсдне Добавлено спустя 3 минуты, 59 секунд о, и про CD (chdir) на девоид.ком.уа нашёл, остался DIR
_________________ ASUS A4M88T-M, Athlon II X3 425, 2GB NCP, video - internal ATI 4250, 200GB Samsung HDD, Win7 x64
Member
Статус: Не в сети Регистрация: 10.12.2007 Откуда: Санкт-Петербург
Сильно не бейте, но можно вопрос? Почему моя прога не будет выводить ничего на экран и цикл бесконечный? Я проверила, она работает, причем например при х=1 она выдает 66, это правильно
_________________ Семь бед, один Reset. 95, 98 - это количество багов. В пpоцентах... DCN - наше все
Member
Статус: Не в сети Регистрация: 08.05.2006 Откуда: СПБ
manya писал(а):
Сильно не бейте, но можно вопрос? Почему моя прога не будет выводить ничего на экран и цикл бесконечный? Я проверила, она работает, причем например при х=1 она выдает 66, это правильно
потому что сначало не увидел точку выхода из цикла,потом увидел и написал об этом в P.S.
_________________ Мы все знаем, что Linux — это круто… он выполняет бесконечные циклы за 5 секунд.
* Линус Торвальдс
Member
Статус: Не в сети Регистрация: 10.12.2007 Откуда: Санкт-Петербург
Простите, это снова я Вывести все слова, оканчивающиеся на заданную букву, если строка заканчивается на ноль. Между словами пробел. Она не работает, а я никак не могу найти ошибку((
Код:
#include <stdio.h> #define N 100 void main(void) { int b [N]; printf("Input letter\n"); char a; scanf("%c",&a); printf("Input phrase. The end of the phrase must be '0' "); int i; i=0; int c; while ((c=getchar())!='0') { b[i]=c-'0'; i+=1; } int n; if (b[1]!=' ') n=1; int count; count=0; for (i=0;i<(N-1);++i) { if (b[i]==' ') if (b[i+1]!=' ') n=i+1; if (b[i]=='c') if (b[i+1]==' ') { count++; for(int z=n;z=i-n+1;z++) printf("%c",b[z]); } } if (count==0) printf("There are no words ended on tat letter"); printf("\n");
}
Добавлено спустя 9 часов 36 минут 1 секунду: Ой, то есть вот
Код:
#include <stdio.h> #define N 100 void main(void) { int b [N]; printf("Input letter\n"); char a; scanf("%c",&a); printf("Input phrase. The end of the phrase must be '0' "); int i; i=0; int c; while ((c=getchar())!='0') { b[i]=c-'0'; i+=1; } int n; if (b[1]!=' ') n=1; int count; count=0; for (i=0;i<(N-1);++i) { if (b[i]==' ') if (b[i+1]!=' ') n=i+1; if (b[i]=='c') if (b[i+1]==' ') { count++; for(int z=n;z<=i-n+1;z++) printf("%c",b[z]); } } if (count==0) printf("There are no words ended on tat letter"); printf("\n");
}
Добавлено спустя 1 час 19 минут 4 секунды: Или вот....Чего-то я теперь вообще уже
Код:
#include <stdio.h> #define N 100 void main(void) { int b [N]; printf("Input letter\n"); char a; scanf("%c",&a); printf("Input phrase. The end of the phrase must be '0' "); int i; i=0; int c; while ((c=getchar())!='0') { b[i]=c-'0'; i+=1; } int n; if (b[1]!=' ') n=1; int count; count=0; for (i=0;i<(N-1);++i) { if (b[i]==' ') n=i+1; if (b[i]=='c') if (b[i+1]==' ') { count++; for(int z=n;z<=i-n+1;z++) putchar(b[z]); } } if (count==0) printf("There are no words ended on tat letter"); printf("\n");
}
Добавлено спустя 1 час 16 минут 39 секунд: Или вот
Код:
#include <stdio.h> #define N 100 void main(void) { int b [N]; printf("Input letter\n"); char a; scanf("%c",&a); printf("Input phrase. The last word of the phrase must be '0' "); int i; i=0; int c; while ((c=getchar())!='0') { b[i]=c-'0'; i+=1; } int count; for(i=(N-1);i>=0;--i) { if ((b[i-1]=='a')&&(b[i]==' ')) { count=i; while(b[count]!=' ') { putchar(b[count]); count--; } } } }
Добавлено спустя 18 секунд: И е один не работает
_________________ Семь бед, один Reset. 95, 98 - это количество багов. В пpоцентах... DCN - наше все
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения